Pelajari Operator Identitas Python dan Perbedaan Antara Operator "==" dan "IS".


Artikel ini terutama disusun untuk menjelaskan operator penting dalam python (“IDENTITY OPERATOR ”) dan perbedaan operator identitas (adalah, bukan ) dari operator perbandingan (==).

OPERATOR IDENTITAS

Operator identitas (“is ” dan “is not ”) digunakan untuk membandingkan lokasi memori objek. Ketika sebuah objek dibuat di memori, alamat memori unik dialokasikan ke objek tersebut.

  • '==' membandingkan apakah kedua nilai objek identik atau tidak.
  • 'is' membandingkan jika kedua objek berada di lokasi memori yang sama.

Buat tiga objek string Nama, Nama1, dan Nama2. Objek string Nama dan Nama2 akan memiliki nilai yang sama dan Nama1 akan memiliki nilai yang berbeda.

Saat kita membuat objek-objek ini, yang terjadi di balik layar adalah, objek tersebut akan dibuat di memori dan akan tersedia selama masa program berlangsung.

Sekarang Anda dapat menggunakan operator perbandingan “== ” untuk memeriksa apakah kedua nilai objek sama. Output dari operator perbandingan akan berupa nilai Boolean (True atau False).

Sekarang Anda telah membandingkan dua nilai untuk menentukan kesetaraan, mari kita lihat cara kerja operator identitas.

Fungsi Id() a bawaan digunakan untuk mendapatkan “identitas ” suatu objek. Bilangan bulat yang unik dan konstan untuk objek selama masa pakainya.

Sederhananya, anggap ini sebagai ID atau ID Perusahaan pemerintah unik yang diberikan kepada Anda, demikian pula nilai bilangan bulat unik diberikan untuk setiap objek.

Sekarang Anda dapat membandingkan 2 referensi objek menggunakan operator “is ”.

Ketika saya membandingkan Nama dan Nama1 atau Nama2 menggunakan operator identitas, apa yang dilakukannya di backend adalah ia hanya menjalankan “id(Name ) == id(Nama2) ”. Karena id(Name) dan id(Name2) keduanya berbagi lokasi memori yang sama, ia mengembalikan True.

Sekarang inilah bagian yang menarik. Lihat contoh kita sebelumnya di mana Nama dan Nama1 memiliki nilai yang identik dan mengembalikan nilai bilangan bulat yang sama ketika kita menjalankan fungsi id(). Menurut Anda mengapa objek “Nama_baru ” dan “Nama_le ” tidak identik meskipun keduanya memiliki nilai yang sama seperti pada tangkapan layar di bawah?

Hal ini karena implementasi desain python. Saat Anda membuat objek bilangan bulat dalam rentang (-5,256) dan objek string yang lebih besar dari atau sama dengan 20 karakter, alih-alih membuat objek berbeda di memori untuk nilai yang sama, objek tersebut bertindak sebagai penunjuk ke objek yang sudah dibuat.

Representasi gambar di bawah ini akan memberi Anda gambaran jelas tentang apa yang telah kita lihat sejauh ini di artikel ini.

Ringkasan

Dalam artikel ini, kita telah melihat apa yang dimaksud dengan operator identitas. Bagaimana operator perbandingan dan operator identitas digunakan, merancang implementasi bagaimana suatu objek dibuat di memori.