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'>
En integer innehåller inte decimale: har den decimaler så blir det en float.
>>> supervariabel = 1337
>>> type(supervariabel)
<class 'int'>
>>> supervariabel = 1337.1337
>>> type(supervariabel)
<class 'float'>
Datatyper
Ett objekt som är mutable kan förändras och ett objekt som är immutable kan ej förändras. En variabel kan fortfarande förändras genom att tilldela om den, men datatypen kan inte modifieras.
| Namn | Typ | Mutable | Beskrivning |
| Integer | int | Nej | Hela nummer utan decimaler, ex. 6, 600 och 1589 |
| Boolean | bool | Nej | Ett jämförbart värde, kan bara vara 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"} |