Python memiliki kumpulan tipe bawaan yang kaya yang mencakup angka, teks, koleksi, dan lainnya. Mengetahuinya — dan mana yang dapat berubah vs tidak dapat berubah — adalah fundamental.
Tipe numerik
x =
y =
z = +
b =
Catatan: Python int memiliki presisi arbitrer — tidak pernah meluap (tidak seperti int berukuran tetap di C/Java); 2 ** 1000 hanya bekerja.
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
Perbedaan ini penting sekali — objek yang tidak dapat berubah dapat menjadi kunci dict dan aman dibagikan; objek yang dapat berubah dapat berubah secara tidak terduga jika memiliki alias.
Tipe bawaan adalah kosakata dari semua kode Python.
Mengetahui tujuan masing-masing — daftar untuk urutan berurutan, dict untuk pasangan kunci-nilai, himpunan untuk keunikan, tuple untuk catatan tetap, bilangan bulat presisi arbitrer, dan terutama pemisahan dapat berubah-vs-tidak dapat berubah (yang mengatur kunci dict, bug aliasing, dan apa yang dapat dibagikan dengan aman) adalah fundamental.
Memilih tipe yang tepat untuk pekerjaan — dan memahami mutabilnya — adalah keterampilan Python inti yang mempengaruhi kebenaran dan kinerja di seluruh program.