Apabila membandingkan rentetan dalam Python, adalah penting untuk memahami perbezaan antara "is" dan "== "pengendali. Soalan berikut menyerlahkan kekeliruan dan memberikan jawapan yang bernas:
Soalan:
"Saya menemui gelung tak terhingga apabila menggunakan 'bukan' untuk menyemak sama ada rentetan kosong, tetapi ' !=' berfungsi dengan betul. Kenapa?"
Jawapan:
Pengendali "is" menyemak sama ada dua objek merujuk kepada contoh yang sama dalam ingatan, manakala "==" menyemak kesamaan nilai . Apabila membandingkan rentetan, secara amnya "==" harus digunakan kerana kebanyakan objek Python terbina dalam seperti rentetan berkelakuan konsisten dengan pengendali ini.
Mengenai pilihan operator untuk perbandingan int atau Boolean, panduannya adalah seperti berikut:
Pengoptimuman penting untuk diperhatikan untuk int ialah integer kecil boleh dibandingkan dengan "adalah" atas sebab prestasi, tetapi tingkah laku ini tidak boleh dipercayai atas.
Ia juga disyorkan untuk menggunakan "x" dan bukannya "jika x == Benar" untuk perbandingan Boolean dan "adalah Tiada" dan bukannya "== Tiada" untuk perbandingan Tiada.
Ringkasnya, "==" hendaklah menjadi pilihan lalai untuk rentetan, int dan perbandingan Boolean, manakala "adalah" dikhaskan untuk kes tertentu yang identiti objek adalah berkaitan.
Atas ialah kandungan terperinci Perbandingan Rentetan Python: Mengapa 'tidak' Gagal Di Mana '!=' Berjaya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!