Python, sayılar, metin, koleksiyonlar ve daha fazlasını kapsayan zengin bir yerleşik tür seti sunar. Bunları bilmek — ve hangilerinin mutable vs immutable olduğunu bilmek — temeldir.
Sayısal türler
x =
y =
z = +
b =
Not: Python int keyfi kesinliğe sahiptir — asla taşmaz (C/Java'daki sabit boyutlu ints'in aksine); 2 ** 1000 basitçe çalışır.
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
Bu ayrım çok önemlidir — değişmez nesneler dict anahtarı olabilir ve paylaşmak için güvenlidir; değişebilir olanlar takma ad verilirse beklenmedik şekilde değişebilir.
Yerleşik türler tüm Python kodunun sözlüğüdür.
Her bir türün amacını (sıralı diziler için list, anahtar-değer için dict, benzersizlik için set, sabit kayıtlar için tuple), keyfi kesinlikli tamsayıları ve özellikle mutable-vs-immutable bölünmesini (dict anahtarlarını, aliasing hatalarını ve güvenle paylaşılabilecek şeyleri yönetir) bilmek temeldir.
İş için doğru türü seçmek — ve onun mutability'sini anlamak — bir Python temel becerisidir ve bir program boyunca doğruluk ve performansı etkiler.