Rumah >pembangunan bahagian belakang >Tutorial Python >Operator 'adalah' Python: Identiti vs. Kesaksamaan—Apakah Perbezaannya?
Salah Tanggapan Operator "is"
Operator "is" dalam Python sering disalah ertikan. Bertentangan dengan namanya, ia tidak membandingkan nilai pembolehubah; sebaliknya, ia menilai identiti objek.
Memahami Identiti Objek
Objek dalam Python ialah entiti unik yang dikenal pasti melalui alamat memorinya. Apabila anda mencipta dua pembolehubah berasingan dan memberikannya nilai yang sama, anda tidak mencipta dua salinan objek yang sama tetapi mencipta dua objek berbeza dengan kandungan yang sama.
Ujian Operator "is" Identiti
Operator "adalah" menyemak sama ada dua pembolehubah merujuk kepada objek yang sama dalam ingatan. Ia mengembalikan True jika mereka menunjuk kepada contoh yang sama, walaupun mereka memegang nilai yang sama. Untuk membandingkan nilai dua pembolehubah, gunakan pengendali "==" sebaliknya.
Contoh
Pertimbangkan contoh berikut di mana kami menetapkan senarai kepada dua pembolehubah:
x = [1, 2, 3] y = [1, 2, 3] print(x is y) # Output: False
Output adalah "Salah" kerana walaupun kedua-dua x dan y mempunyai kandungan yang sama, ia adalah dua objek berbeza dalam memori.
Implikasi untuk Pengubahsuaian Objek
Jika anda mengubah suai salah satu pembolehubah, pembolehubah lain kekal tidak berubah kerana ia tidak merujuk kepada objek yang sama. Contohnya:
x[0] = 4 print(y) # Output: [1, 2, 3]
Nilai y kekal tidak berubah walaupun x telah diubah suai.
Kesimpulan
Ujian pengendali "adalah" identiti objek, bukan nilai kesamaan. Untuk membandingkan nilai pembolehubah, gunakan operator "==". Memahami perbezaan ini adalah penting untuk bekerja dengan berkesan dengan objek dan pembolehubah dalam Python.
Atas ialah kandungan terperinci Operator 'adalah' Python: Identiti vs. Kesaksamaan—Apakah Perbezaannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!