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

Wie kann ich eine überschriebene integrierte Funktion in Python wiederherstellen?

Susan Sarandon
Susan SarandonOriginal
2024-11-02 03:28:02475Durchsuche

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

Wiederherstellen einer überschriebenen integrierten Funktion

Beim Experimentieren in einer interaktiven Python-Sitzung kann es leicht passieren, dass eine integrierte Funktion wie set by versehentlich überschrieben wird indem Sie es einem Variablennamen zuweisen. Dies kann lästig sein, insbesondere wenn Sie gerade viel arbeiten und Ihre Sitzung nicht neu starten möchten.

Glücklicherweise gibt es eine einfache Möglichkeit, die ursprünglich eingestellte Funktion wiederherzustellen:

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

Dadurch wird der maskierende Variablenname entfernt und Sie erhalten Zugriff auf die ursprüngliche Funktion:

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

Wenn Sie weiterhin auf die ursprüngliche Set-Funktion zugreifen müssen, können Sie dies jederzeit über das integrierte Modul tun:

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

Dies ist nützlich, wenn Sie eine integrierte Funktion überschreiben möchten, aber die Möglichkeit behalten möchten, die ursprüngliche Funktion aus Ihrer Überschreibung aufzurufen:

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

Denken Sie daran, alle zu markieren Namespaces für den Maskierungsnamen, um Verwirrung zu vermeiden. Eine Übersicht über die Scoping-Regeln finden Sie in der Dokumentation zur Kurzbeschreibung der Scoping-Regeln.

Das obige ist der detaillierte Inhalt vonWie kann ich eine überschriebene integrierte Funktion 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