Python turi turtingą integruotų tipų rinkinį, apimantį skaičius, tekstą, rinkinius ir dar daugiau. Jų žinojimas — ir kurie yra keičiami prieš nekintami — yra fundamentalus.
Skaitiniai tipai
x =
y =
z = +
b =
Pastaba: Python int turi savavališką tikslumą — jis niekada neperplauksta (skirtingai nei fiksuoto dydžio int'ai C/Java); 2 ** 1000 tiesiog veikia.
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
Šis skirtumas labai svarbus — nekintami objektai gali būti žodyno raktai ir yra saugūs bendrinimui; keičiamieji gali netikėtai pasikeisti, jei jie yra aliasai.
Integruoti tipai yra visą Python kodą sudarantis žodynas.
Kiekvieno tipu žinojimas — jo paskirtis (sąrašas sutvarkytoms sekoms, žodynas raktui ir reikšmei, aibė unikalumui, kortežas fiksuotiems įrašams), savavališkai tikslūs sveikieji skaičiai ir ypač keičiamų ir nekintamų skirtumas (kuris valdo žodyno raktus, aliasing klaidas ir tai, ką galima saugiai bendrintis) — yra fundamentalus.
Teisingos rūšies pasirinkimas užduočiai — ir jos kintamumo supratimas — yra pagrindinė Python įgūdis, turintis įtakos teisingumui ir našumui visoje programoje.