Skip to main content

Grunder

En bra princip i Python är att arbeta i virtuella miljöer. I en virtuell miljö installeras en specifik version av Python och tillhörande paket i en kombination som kan vara unik för just den här miljön.

Aktivera virtuell miljö (Linux) via:

python3 -m venv myenv
source myenv/bin/activate

Nu ska prompten visa (myenv)$.

Paket kan nu installeras i miljön via pip, Pythons pakethanterare. Ex. pip install paketnamn. Vill man alltid ha samma version av ett paketnamn slår man paketnamn==1.1.1, då installeas alltid version 1.1.1. Slår man paketnamn>=1.0 installeras 1.0 eller högre.

Paket kan man söka efter på https://pypi.org/search

För att stänga av miljön slå deactivate.

Bra arbetssätt är att använda en requirements.txt fil. I den filen ska alla paket man önskar använda finnas, ex:

jmespath==1.0.1
jq==1.7.0
jsonpath-ng==1.5.3
lxml==4.9.3
markdown-it-py==3.0.0

Sedan kan man installera alla paket i miljön med pip install -r requirements.txt.

Om man vill spara de paket man för tillfället har installerade i en venv kan man göra det genom pip freeze > requirements.txt.

Variabel

En variabel är ett värde i Python som är mappad till ett Pythonobjekt som är sparat i minne. Ex. supervariabel = 1337 är då en variabel där supervariabel matchar Integer 1337.

[jehrlander@bash python]python3
Python 3.12.13 (main, Jul 10 2026, 00:00:00) [GCC 14.3.1 20251022 (Red Hat 14.3.1-4)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> supervariabel = 1337
>>> print(supervariabel)
1337
>>> type(supervariabel)
<class 'int'>

Om man istället använder supervariabel = "1337" så blir det en String och inte en Integer.

>>> supervariabel = "1337"
>>> type(supervariabel)
<class 'str'>

 

Datatyper

Ett objekt som är mutable kan förändras och ett objekt som är immutable kan ej förändras.

Namn Typ Mutable Beskrivning
Integer int Nej Hela nummer, ex. 6, 600 och 1589
Boolean bool Nej Ett jämförbart värde, True eller False
String str Nej Sekvens av text avgränsad av citatttecken, såsom "Cisco, "Piper" och "2000"
List list Ja Strukterad sekvens av objekt, ex. [10, "DNA", 19.8]
Tuple tup Nej Strukterad sekvens av immutable objects, ex. (10, "DNS", 19.8)
Dictionary dict Ja Ostrukterad key:value pairs, ex. {"key1":"value1","name":"Pip"[}
Set set Ja Ostrukterad samling av unika object, ex. {"a","b"}