Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimanakah Python String Interning Berfungsi, dan Apakah Hadnya?
Meneroka Python String Interning
Dalam Python, string interning ialah teknik yang digunakan untuk mengoptimumkan operasi rentetan dengan menyimpan rentetan unik dalam jadual dan menetapkan alamat yang sama kepada rentetan yang sama. Konsep ini membolehkan perbandingan yang lebih pantas dan manipulasi rentetan.
Apabila membandingkan dua literal rentetan, Python menyemak sama ada ia dimasukkan ke dalam penjarakan. Jika ya, perbandingan hanya menyemak sama ada ia menunjuk ke alamat yang sama, menghapuskan keperluan untuk perbandingan watak demi watak.
Memahami Intern Melalui Contoh
The contoh pertama, "rentetan" ialah "rentetan", mengembalikan True kerana rentetan dimasukkan. Python menyedari bahawa kedua-duanya merujuk kepada nilai rentetan yang sama, jadi mereka berkongsi alamat yang sama.
Contoh bijak, "strin" "g" ialah "rentetan", juga menilai kepada Benar. Ini berfungsi kerana Python menilai penggabungan pada masa penyusunan dan menggantikan "strin" "g" dengan "rentetan". Oleh itu, perbandingan menjadi setara dengan contoh pertama.
Batasan Pelatih
Walau bagaimanapun, latihan tidak terpakai pada operasi masa jalan. Contoh ketiga, s1 = "strin"; s2 = "rentetan"; s1 "g" ialah s2, mengembalikan Salah. Ini kerana penyambungan s1 "g" dilakukan pada masa larian dan hasilnya tidak dimasukkan. Python menganggapnya sebagai objek rentetan baharu dengan alamat yang berbeza.
Butiran Pelaksanaan
Dalam CPython 3.9 , amali dilakukan untuk pemalar masa kompilasi tetapi bukan untuk larian- ungkapan masa. Bytecode untuk dua contoh pertama menunjukkan bahawa "rentetan" pemalar yang dinilai telah diinternalkan, manakala bytecode contoh ketiga mendedahkan ketiadaan interning untuk penggabungan masa jalan.
Atas ialah kandungan terperinci Bagaimanakah Python String Interning Berfungsi, dan Apakah Hadnya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!