Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich überschriebene integrierte Funktionen in Python wiederherstellen?

Wie kann ich überschriebene integrierte Funktionen in Python wiederherstellen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-02 14:36:30924Durchsuche

How to Restore Overwritten Builtin Functions in Python?

Wiederherstellen einer überschriebenen integrierten Funktion

Das Überschreiben einer integrierten Funktion, wie z. B. „Set“, während der Arbeit in einer interaktiven Python-Sitzung kann frustrierend sein. Dieser Artikel stellt eine einfache, aber effektive Lösung vor, um den Zugriff auf das ursprüngliche Built-In wiederherzustellen, ohne dass die Sitzung neu gestartet werden muss.

Zugriff auf Built-Ins über das Built-Ins-Modul

Eine Möglichkeit zur Wiederherstellung Ein überschriebenes Builtin erfolgt durch Zugriff über das Builtins-Modul. In Python 3 heißt dieses Modul „builtins“. In Python 2 ist es als __builtin__ bekannt, mit Unterstrichen und dem Fehlen eines „s“. Mit dieser Methode kann man eine eingebaute Funktion überschreiben, aber dennoch Zugriff auf die ursprüngliche Funktion behalten:

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

Löschen des Maskierungsnamens

Eine einfachere Lösung ist das einfache Löschen der Name, der die eingebaute Datei maskiert. Dies kann mit der del-Anweisung erreicht werden:

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

Exploring Scopes for Masking Name

Wenn Probleme beim Auffinden des Maskierungsnamens auftreten, ist es ratsam, alle Namespaces zu überprüfen vom aktuellen Namespace bis zu den integrierten. Das Verständnis der Scoping-Regeln in Python kann dabei helfen, den Namespace zu identifizieren, in dem der Maskierungsname definiert ist.

Das obige ist der detaillierte Inhalt vonWie kann ich überschriebene integrierte Funktionen in Python wiederherstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn