Memanipulasi Jenis Objek Python Terbina Dalam
Jenis objek terbina dalam Python, seperti kamus, rentetan dan senarai, adalah tidak berubah dan kekurangan kaedah tertentu yang mungkin diingini. Walaupun tidak mungkin untuk mengubah suai secara langsung objek ini, terdapat teknik yang membolehkan anda menambah fungsi tersuai padanya.
Subkelas dan Penggantian
Untuk menambah kaedah kepada jenis terbina dalam, anda boleh mensubkelaskannya dan menggantikan subkelas anda dengan jenis asal dalam ruang nama terbina dalam. Dengan cara ini, semua tika jenis terbina dalam akan mewarisi kefungsian tambahan anda.
Contoh: Menambah Kaedah helloWorld() pada Kamus
Warisan prototaip JavaScript membolehkan anda untuk menambah kaedah kepada jenis terbina dalam, tetapi Python tidak mempunyai mekanisme yang serupa. Walau bagaimanapun, menggunakan subkelas, anda boleh mencapai kesan yang serupa:
<code class="python">class CustomDict(dict): def helloWorld(self): print("Hello, dictionary!")</code>
Dengan menggantikan subkelas ini untuk dict terbina dalam dalam ruang nama global, anda kini boleh menambah kaedah helloWorld() pada mana-mana objek kamus:
<code class="python">import __builtin__ __builtin__.dict = CustomDict my_dict = {} my_dict.helloWorld() # Output: Hello, dictionary!</code>
Had
Teknik ini mempunyai had:
Kesimpulan
Walaupun anda tidak boleh terus menambah kaedah pada jenis objek terbina dalam Python, subkelas dan penggantian menyediakan cara untuk mencapai kefungsian yang serupa. Dengan melanjutkan kelas terbina dalam, anda boleh menambah atribut dan gelagat tambahan pada objek ini sambil mengekalkan keserasian dengan kod sedia ada.
Atas ialah kandungan terperinci Bagaimanakah Anda Boleh Menambah Fungsi Tersuai pada Jenis Objek Terbina Dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!