Python har et rigt sæt af indbyggede typer, der dækker tal, tekst, samlinger og mere. At kende dem — og hvilke der er ændelige versus uforanderlige — er grundlæggende.
Numeriske typer
x =
y =
z = +
b =
Bemærk: Python int har vilkårlig præcision — det overløber aldrig (i modsætning til fastsize-heltal i C/Java); 2 ** 1000 virker bare.
s = "hello" # str — Unicode text (immutable)
data = b"bytes" # bytes — raw binary (immutable)
lst = [1, 2, 3] # list — ordered, MUTABLE, allows duplicates
tup = (1, 2, 3) # tuple — ordered, IMMUTABLE
d = {"a": 1, "b": 2} # dict — key→value, mutable, insertion-ordered
s = {1, 2, 3} # set — unordered, unique elements, mutable
fs = frozenset({1, 2}) # frozenset — immutable set
result = None # NoneType — represents "no value" (like null)
if result is None: # always compare to None with `is`, not ==
...
type(x) # <class 'int'>
isinstance(x, int) # True — the preferred check (handles subclasses)
Immutable: int, float, bool, str, tuple, frozenset, bytes, None
Mutable: list, dict, set, bytearray
Denne sondring betyder meget — uforanderlige objekter kan være dict-nøgler og er sikre at dele; ændelige objekter kan ændre sig uventet, hvis de bliver aliased.
De indbyggede typer er ordforrådet for al Python-kode.
At kende hver types formål (liste til ordnede sekvenser, dict til nøgle-værdi, sæt til unikhed, tuple til faste poster), heltal med vilkårlig præcision og især opdelingen mellem ændelige og uforanderlige (som styrer dict-nøgler, aliasing-fejl og hvad der sikkert kan deles) er grundlæggende.
AT vælge den rigtige type til jobbet — og forstå dens ændelighed — er en central Python-færdighed, der påvirker korrekthed og ydeevne hele programmet igennem.