Python heeft een rijke set ingebouwde typen die nummers, tekst, verzamelingen en meer omvatten. Het kennen ervan — en welke mutable versus immutable zijn — is fundamenteel.
Numerieke typen
x =
y =
z = +
b =
Opmerking: Python int heeft willekeurige precisie — het overloopt nooit (in tegenstelling tot vaste-grootte ints in C/Java); 2 ** 1000 werkt gewoon.
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
Dit onderscheid is erg belangrijk — immutable objecten kunnen dict-sleutels zijn en zijn veilig om te delen; mutable objecten kunnen onverwacht veranderen als ze worden gealiased.
De ingebouwde typen zijn het vocabulaire van alle Python-code.
Het kennen van elk type zijn doel (list voor geordende reeksen, dict voor sleutel-waarde, set voor uniciteit, tuple voor vaste records), de willekeurige-precisie integers, en vooral de mutable-versus-immutable-splitsing (die dict-sleutels, aliasing-bugs en wat veilig kan worden gedeeld bepaalt) is fundamenteel.
Het juiste type voor de taak kiezen — en de mutabiliteit ervan begrijpen — is een kernvaardigheid van Python die correctheid en prestaties gedurende een programma beïnvloedt.