Python ina seti kubwa ya aina zilizojengwa ndani zinazofunika namba, maandishi, mikusanyiko, na zaidi. Kujua zao — na ni gani zinazobadilika dhidi ya zisizobadilika — ni kitu cha kimsingi.
Aina za namba
x =
y =
z = +
b =
Kumbuka: Python int ina usahihi wa kiholela — haijawai kuzidi (tofauti na ints zenye saizi ya kudumu katika C/Java); 2 ** 1000 inafanya kazi tu.
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
Tofauti hii ni muhimu sana — vitu visivyobadilika vinaweza kuwa funguo za dict na ni salama kugawana; zinazobadilika zinaweza kubadilika bila kusubiri ikiwa zimepewa jina jingine.
Aina zilizojengwa ndani ni msamiati wa msimbo wote wa Python.
Kujua madhumuni ya kila aina (list kwa mlolongo ulioamriwa, dict kwa ufunguo-thamani, set kwa nchi yenye kawaida, tuple kwa kumbukumbu zenye kudumu), namba kamili za usahihi wa kiholela, na haswa mgawanyiko zinazobadilika-dhidi ya-zisizobadilika (ambao huongoza funguo za dict, hitilafu za aliasing, na nini kinachoweza kugawana salama) ni kitu cha kimsingi.
Kuchagua aina sahihi kwa kazi — na kuelewa mutability yake — ni ujinga wa kimsingi wa Python unaoathiri usahihi na utendaji kote katika programu.
Maktaba ya maswali ya mahojiano ya IT yenye majibu ya kina — kutoka Junior hadi Senior.
Changia