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

Bagaimana untuk memulihkan fungsi terbina dalam yang ditulis ganti dalam Python?

Barbara Streisand
Barbara Streisandasal
2024-11-02 03:08:30893semak imbas

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

Memulihkan Terimpa Terbina dalam: Mengatasi Timpa Ganti Tidak Sengaja

Apabila memanipulasi pembolehubah dalam sesi Python interaktif, adalah mungkin untuk menimpa fungsi terbina secara tidak sengaja . Ini boleh mengecewakan, terutamanya jika anda tidak mahu memulakan semula sesi anda untuk memulihkan akses. Adakah terdapat cara untuk membuat asal tulis ganti ini tanpa kehilangan data berharga?

Penyelesaian:

Untuk mendapatkan semula fungsi terbina asal tanpa memulakan semula sesi, anda boleh memadam pembolehubah tersebut itu menutupinya. Contohnya:

>>> set = 'oops'
>>> set
'oops'
>>> del set
>>> set
<type 'set'>

Ini akan memulihkan fungsi set terbina dalam kepada keadaan asalnya.

Akses Alternatif:

Jika anda masih perlu mengakses asal terbina dalam tetapi ingin mengekalkan timpa ganti, anda boleh menggunakan modul terbina. Dalam Python 2, gunakan __builtin__; dalam Python 3, gunakan binaan.

>>> import builtins
>>> builtins.set
<type 'set'>

Ini membolehkan anda menunda kepada fungsi asal sambil mengatasi terbina dalam.

Mencari Nama Masking:

Jika anda tidak pasti ruang nama yang mengandungi pembolehubah masking, semak ruang nama semasa anda dan mana-mana ruang nama induk, termasuk ruang nama terbina dalam. Rujuk sumber seperti "Penerangan ringkas peraturan skop?" untuk maklumat lanjut.

Atas ialah kandungan terperinci Bagaimana untuk memulihkan fungsi terbina dalam 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