Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Memulihkan Fungsi Terbina Dalam Tertimpa dalam Python?

Bagaimana untuk Memulihkan Fungsi Terbina Dalam Tertimpa dalam Python?

Susan Sarandon
Susan Sarandonasal
2024-11-02 03:28:02392semak imbas

How to Restore an Overwritten Built-in Function in Python?

Memulihkan Fungsi Terbina Dalam yang Ditimpa Ganti

Apabila bereksperimen dalam sesi Python interaktif, mudah untuk menimpa fungsi terbina dalam secara tidak sengaja seperti yang ditetapkan oleh memberikannya kepada nama pembolehubah. Ini boleh menjadi gangguan, terutamanya jika anda mempunyai banyak kerja yang sedang dijalankan dan tidak mahu memulakan semula sesi anda.

Nasib baik, ada cara mudah untuk memulihkan fungsi set asal:

<code class="python">del set</code>

Ini akan mengalih keluar nama pembolehubah masking dan memberi anda akses kepada fungsi asal:

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

Jika anda masih perlu mengakses fungsi set asal, anda sentiasa boleh berbuat demikian melalui modul terbina:

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

Ini berguna jika anda ingin mengatasi fungsi terbina dalam tetapi ingin mengekalkan keupayaan untuk memanggil fungsi asal daripada penggantian anda:

<code class="python"># In the Python interpreter
>>> set = lambda x: x
>>> set([1, 2, 2, 3, 4])
[1, 2, 3, 4]
>>> builtins.set([1, 2, 2, 3, 4])
{1, 2, 3, 4}</code>

Ingat untuk menyemak semua ruang nama untuk nama penutup untuk mengelakkan kekeliruan. Untuk mendapatkan gambaran keseluruhan peraturan skop, lihat dokumentasi mengenai Penerangan ringkas peraturan skop.

Atas ialah kandungan terperinci Bagaimana untuk Memulihkan Fungsi Terbina Dalam Tertimpa 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