Python má bohatou sadu vestavěných typů pokrývajících čísla, text, kolekce a další. Jejich znalost — a rozlišování mezi měnitelnými a neměnitelnými — je zásadní.
Číselné typy
x =
y =
z = +
b =
Pozn.: Python int má libovolnou přesnost — nikdy se nepřetečení (na rozdíl od celočísel pevné velikosti v C/Java); 2 ** 1000 prostě funguje.
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
Toto rozlišení je velmi důležité — neměnitelné objekty mohou být klíče dict a bezpečně se sdílet; měnitelné objekty se mohou neočekávaně změnit, pokud jsou aliasovány.
Vestavěné typy jsou slovní zásoba veškerého kódu v Pythonu.
Znalost každého typu (list pro seřazené sekvence, dict pro klíč-hodnota, set pro jedinečnost, tuple pro pevné záznamy), celočísel s libovolnou přesností a zejména rozdělení mezi měnitelné a neměnitelné (které řídí klíče dict, chyby aliasování a co lze bezpečně sdílet) je zásadní.
Výběr správného typu pro daný úkol — a pochopení jeho měnitelnosti — je základní dovednost v Pythonu, která ovlivňuje správnost a výkon v celém programu.