Rumah >pembangunan bahagian belakang >Tutorial Python >## Bolehkah Anda Meningkatkan Jenis Terbina Dalam Python dengan Kaedah dan Atribut Tersuai?
Bolehkah Kaedah dan Atribut Tersuai Ditambah pada Jenis Python Terbina dalam?
Dalam Python, tidak mungkin mengubah suai secara langsung yang terbina -dalam jenis data seperti dicts. Walau bagaimanapun, teknik yang dikenali sebagai "tampalan monyet" membolehkan subkelas dicipta dan digantikan ke ruang nama global. Ini menyediakan versi dipertingkatkan bagi jenis data asal.
Teknik Menampal Monyet
Contoh: Menambah Kaedah first_last() untuk str
<code class="python"># Built-in namespace import __builtin__ # Extended subclass class mystr(str): def first_last(self): if self: return self[0] + self[-1] else: return '' # Substitute the original str with the subclass on the built-in namespace __builtin__.str = mystr print(str(1234).first_last()) # Output: 14 print(str(0).first_last()) # Output: 00 print(str('').first_last()) # Output: ''</code>
Batasan:
Teknik ini mempunyai beberapa kaveat:
Atas ialah kandungan terperinci ## Bolehkah Anda Meningkatkan Jenis Terbina Dalam Python dengan Kaedah dan Atribut Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!