Rumah > pembangunan bahagian belakang > Tutorial Python > Perbandingan Rentetan Python: Mengapa 'tidak' Gagal Di Mana '!=' Berjaya?

Perbandingan Rentetan Python: Mengapa 'tidak' Gagal Di Mana '!=' Berjaya?

Susan Sarandon
Lepaskan: 2024-12-24 08:29:45
asal
517 orang telah melayarinya

Python String Comparison: Why Does

Memahami Perbandingan Rentetan dalam Python: is vs. ==

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:

  • Gunakan "==" untuk semakan kesaksamaan nilai.
  • Gunakan "adalah" khusus untuk identiti semak apabila bimbang dengan mencari objek dengan alamat memori yang sama.

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan