Daftar Referensi Python
is mengecek identitas: apakah dua variabel menunjuk ke objek yang sama persis di memori. Berbeda dari == yang mengecek kesamaan nilai. Dua list bisa berisi nilai sama (== True) tapi tetap dua objek berbeda (is False).
Sintaks
a is b # objek yang sama?
a is not b # objek berbeda?
x is None # cara standar mengecek None
is vs ==
| Operator | Mengecek | Pertanyaannya |
|---|---|---|
== |
nilai | “Apakah isinya sama?” |
is |
identitas | “Apakah ini objek yang itu-itu juga?” |
Contoh
a = [1, 2, 3]
b = [1, 2, 3]
c = a
print(a == b)
print(a is b)
print(a is c)
Output:
True
False
True
b berisi nilai yang sama tapi objek berbeda; c menunjuk ke objek yang sama dengan a.
Contoh Lainnya
Kegunaan paling umum: mengecek None
hasil = None
print(hasil is None)
print(hasil is not None)
Output:
True
False
Kenapa identitas penting: perubahan ikut terasa
a = [1, 2]
c = a # c dan a = objek yang SAMA
c.append(3)
print(a)
Output:
[1, 2, 3]
Mengubah lewat c ikut mengubah a — karena keduanya satu objek. Untuk salinan terpisah: c = a.copy().
Kesalahan Umum
- Memakai
isuntuk membandingkan angka atau string — kadang kebetulanTrue(Python meng-cache nilai kecil), lalu tiba-tibaFalsedi kasus lain. Untuk nilai, selalu==. - Menulis
x == None— jalan, tapi standar gaya Python (PEP 8) adalahx is None. not x is None— bisa terbaca ambigu; tulisx is not None.
Pelajari Lebih Lanjut
- Referensi: Operator di Python · in di Python · List di Python
- Buku Belajar Python untuk Pemula: Bab 5 dan Bab 12
