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)

Coba di IDE

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)

Coba di IDE

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)

Coba di IDE

Output:

[1, 2, 3]

Mengubah lewat c ikut mengubah a — karena keduanya satu objek. Untuk salinan terpisah: c = a.copy().

Kesalahan Umum

  • Memakai is untuk membandingkan angka atau string — kadang kebetulan True (Python meng-cache nilai kecil), lalu tiba-tiba False di kasus lain. Untuk nilai, selalu ==.
  • Menulis x == None — jalan, tapi standar gaya Python (PEP 8) adalah x is None.
  • not x is None — bisa terbaca ambigu; tulis x is not None.

Pelajari Lebih Lanjut