Python ka një grup të pasur të tipit të përfshirë që mbulojnë numra, tekst, koleksione dhe më shumë. Të dini ato — dhe cilat janë mutable vs immutable — është themelor.
Tipet numerike
x =
y =
z = +
b =
Shënim: Python int ka saktësi arbitrare — nuk nëvërsohet kurrë (ndryshe nga numrat e plotë me madhësi fikse në C/Java); 2 ** 1000 thjesht funksionon.
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
Ky dallim ka shumë rëndësi — objektet immutable mund të jenë çelësa dict dhe janë të sigurt për ndarje; objektet mutable mund të ndryshojnë në mënyrë të papritur nëse janë të aliasuar.
Tipet e përfshira janë fjalori i të gjithë kodit Python.
Të dini qëllimin e secilit (list për sekuenca të renditura, dict për çifte kyç-vlerë, set për unike, tuple për regjistrime fikse), numra të plotë me saktësi arbitrare, dhe veçanërisht ndarje mutable-vs-immutable (e cila rregullon çelësat dict, gabimet e aliasimit dhe atë që mund të ndahet me siguri) është themelor.
Zgjedhja e tipit të duhur për punën — dhe kuptimi i mutabilitetit të tij — është një aftësi bazë Python që ndikon në saktësinë dhe performancën në të gjithë programin.