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.
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 |
| Float | Ej hela nummer, ex. 1337.1337 | ||
| 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"} |
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'>
Listor
Python har inte arrays. I Python kan man använda sig av listor. En lista kan innehålla alla typer av dataobjekt, även andra listor.
>>> switchar = ['Sw1', 'Sw2', 'Sw3']
>>> switchar
['Sw1', 'Sw2', 'Sw3']
>>> type(switchar)
<class 'list'>
>>> routrar = ['R1', 'R2']
>>> natvarksprylar = [switchar, routrar]
>>> natvarksprylar
[['Sw1', 'Sw2', 'Sw3'], ['R1', 'R2']]
>>> type(natvarksprylar)
<class 'list'>
Tuples
Tuples är lika listor, men de är inte skrivbara (immutable). Råkar man göra såhär så blir det en tuple istället:
>>> natvarksprylar = switchar,routrar
>>> natvarksprylar (['Sw1', 'Sw2', 'Sw3'], ['R1', 'R2'])
>>> type(natvarksprylar) <class 'tuple'>