Memahami Identiti Objek dengan Operator "is" Python
Operator "is" dalam Python sering digunakan untuk membandingkan nilai pembolehubah. Walau bagaimanapun, ia sebenarnya tidak membandingkan nilai itu sendiri, sebaliknya menyemak sama ada pembolehubah merujuk objek yang sama dalam ingatan.
Pertimbangkan kod berikut:
x = [1, 2, 3] y = [1, 2, 3] print(x is y) # False
Mengapa ini berlaku return False?
Walaupun memberikan nilai yang sama kepada kedua-dua x dan y, pengendali "is" kembali palsu. Ini kerana x dan y ialah dua senarai berasingan. Walaupun ia mempunyai kandungan yang sama, ia disimpan di lokasi yang berbeza dalam ingatan.
Tujuan "ialah"
Pengendali "adalah" direka untuk menentukan jika dua pembolehubah menunjuk ke objek tepat yang sama dalam ingatan. Ia tidak bertujuan untuk membandingkan nilai mereka.
Analogi:
Bayangkan anda mempunyai dua buku dengan tajuk dan pengarang yang sama. Buku-buku ini mempunyai kandungan yang sama, tetapi ia masih dua objek yang berbeza. Operator "is" menyemak sama ada dua pembolehubah merujuk kepada buku (objek) yang sama, bukan sama ada ia mempunyai teks (nilai) yang sama.
Menggunakan "==" Operator untuk Perbandingan Nilai
Untuk membandingkan nilai dua pembolehubah, gunakan pengendali "==" sebaliknya. Operator ini menyemak sama ada nilai pembolehubah adalah sama, tidak kira sama ada ia merujuk kepada objek yang sama.
print(x == y) # True
Kesimpulan
Operator "is" ialah sebuah alat berharga untuk menentukan identiti objek dalam Python. Adalah penting untuk memahami tujuannya dan membezakannya daripada pengendali "==", yang membandingkan nilai. Dengan memahami perbezaan antara operator ini, anda boleh membandingkan dan memanipulasi data dengan berkesan dalam program Python anda.
Atas ialah kandungan terperinci Bilakah Operator 'is' dan '==' Python Mengembalikan Keputusan Berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!