Rumah >pembangunan bahagian belakang >Tutorial Python >Operator 'adalah' Python: Identiti vs. Kesaksamaan—Apakah Perbezaannya?

Operator 'adalah' Python: Identiti vs. Kesaksamaan—Apakah Perbezaannya?

Linda Hamilton
Linda Hamiltonasal
2024-12-14 00:41:09899semak imbas

Python's

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn