Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memulihkan fungsi terbina yang ditulis ganti dalam Python?

Bagaimana untuk memulihkan fungsi terbina yang ditulis ganti dalam Python?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-02 14:36:30846semak imbas

How to Restore Overwritten Builtin Functions in Python?

Memulihkan Binaan Tertimpa

Menimpa fungsi terbina dalam, seperti set, semasa bekerja dalam sesi Python interaktif boleh mengecewakan. Artikel ini membentangkan penyelesaian yang mudah tetapi berkesan untuk memulihkan akses kepada binaan asal tanpa perlu memulakan semula sesi.

Mengakses Modul Binaan Melalui Binaan

Satu cara untuk memulihkan binaan yang ditimpa ganti ialah dengan mengaksesnya melalui modul binaan. Dalam Python 3, modul ini dinamakan builtins. Dalam Python 2, ia dikenali sebagai __builtin__, dengan garis bawah dan ketiadaan "s". Menggunakan kaedah ini, seseorang boleh mengatasi terbina dalam tetapi masih mengekalkan akses kepada fungsi asal:

<code class="python">>>> import builtins
>>> builtins.set
<type 'set'></code>

Memadamkan Nama Masking

Penyelesaian yang lebih mudah ialah memadamkan nama yang menutupi builtin. Ini boleh dicapai dengan pernyataan del:

<code class="python">>>> set = 'oops'
>>> set
'oops'
>>> del set
>>> set
<type 'set'></code>

Meneroka Skop untuk Nama Penyamaran

Jika masalah mencari nama penyamaran timbul, adalah dinasihatkan untuk menyemak semua ruang nama daripada ruang nama semasa sehingga terbina dalam. Memahami peraturan skop dalam Python boleh membantu dalam mengenal pasti ruang nama tempat nama masking ditakrifkan.

Atas ialah kandungan terperinci Bagaimana untuk memulihkan fungsi terbina yang ditulis ganti dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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