[PYTHON] So erstellen Sie ein Funktionsobjekt aus einer Zeichenfolge

Wenn Sie eine Funktion in Python definieren, verwenden Sie normalerweise die Anweisung def und schreiben sie wie folgt.

python


def foo(x):
    print(x)

Diese Funktionsdefinitionsanweisung erstellt ein Funktionsobjekt und weist es dem Namen foo im globalen Namespace zu.

Wenn das Python-Skript, das diese Funktion definiert, als Text von außen angegeben wird, realisiert der folgende Code die gleiche Verarbeitung wie die obige Funktionsdefinition.

python


func = """def foo(x):
    print(x)
"""
exec(func, globals())

Die eingebaute Funktion exec führt den Python-Code (String oder Code-Objekt) des ersten Arguments im Namespace des zweiten Arguments aus. In diesem Beispiel übergibt das zweite Argument, "globals ()", den globalen Namespace für dieses Modul, sodass darin ein Funktionsobjekt mit dem Namen "foo" erstellt wird. Das heißt, "foo" wird so erstellt, wie Sie es normalerweise in einer "def" -Anweisung definieren würden. Wenn Sie "foo" ausführen, können Sie sehen, dass es auf die gleiche Weise verwendet werden kann, wie es normalerweise in der "def" -Anweisung definiert ist.

python


>>> foo("hello")
hello

Recommended Posts

So erstellen Sie ein Funktionsobjekt aus einer Zeichenfolge
So erstellen Sie einen Klon aus Github
So erstellen Sie ein Repository aus Medien
So generieren Sie ein Python-Objekt aus JSON
Erstellen Sie ein Datum / Uhrzeit-Objekt aus einer Zeichenfolge in Python (Python 3.3).
So rufen Sie eine Funktion auf
[Python] So rufen Sie eine Funktion von c aus Python auf (ctypes edition)
Erstellen Sie einen Pandas-Datenrahmen aus einer Zeichenfolge.
So erstellen Sie ein Conda-Paket
So erstellen Sie eine rekursive Funktion
So erstellen Sie eine virtuelle Brücke
Python - Dynamische Aufruffunktion von String
Wie erstelle ich eine Docker-Datei?
So erstellen Sie eine Konfigurationsdatei
So erstellen Sie einen Git-Klonordner
[Python] So invertieren Sie eine Zeichenfolge
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
So erhalten Sie eine Zeichenfolge aus einem Befehlszeilenargument in Python
So extrahieren Sie die gewünschte Zeichenfolge aus einem Befehl in Zeile 4
Bearbeiten Sie Excel in Python, um eine Pivot-Tabelle zu erstellen
So öffnen Sie einen Webbrowser über Python
Einbetten von Variablen in Python-Strings
So erstellen Sie eine JSON-Datei in Python
So extrahieren Sie den Koeffizienten aus der Minutenformel
So erstellen Sie einen Wrapper, der die Signatur der zu umschließenden Funktion beibehält
[Hinweis] So erstellen Sie eine Ruby-Entwicklungsumgebung
So erstellen Sie ein 1-zeiliges Kivy-Eingabefeld
Verfahren zur Erstellung plattformübergreifender Apps mit kivy
[Einführung in Python] So schreiben Sie eine Zeichenfolge mit der Formatierungsfunktion
So erstellen Sie eine Rest-API in Django
[Go] So schreiben oder rufen Sie eine Funktion auf
Wie man eine öffentliche Funktion in Pytest verspottet
[Hinweis] So erstellen Sie eine Mac-Entwicklungsumgebung
[Python] Ich habe versucht, den Typnamen als Zeichenfolge aus der Typfunktion abzurufen
Lesen Sie die Python-Markdown-Quelle: So erstellen Sie einen Parser
So erstellen Sie einen Artikel über die Befehlszeile
So konvertieren / wiederherstellen Sie einen String mit [] in Python
Erstellen Sie eine Funktion zur Visualisierung / Auswertung des Clustering-Ergebnisses
So erstellen Sie ein Untermenü mit dem Plug-In [Blender]
So konvertieren Sie ein Klassenobjekt mit SQLAlchemy in ein Wörterbuch
[Python] So erweitern Sie Variablen in einer Zeichenfolge
[Go] So erstellen Sie einen benutzerdefinierten Fehler für Sentry
So erstellen Sie ein lokales Repository für Linux
Betrachten Sie die Konvertierung von Python rekursiv in nicht rekursiv
Führen Sie die Python-Funktion von Powershell aus (wie Sie Argumente übergeben).
So erstellen Sie ein einfaches TCP-Server / Client-Skript
So veröffentlichen Sie ein Ticket über die Shogun-API
So nehmen Sie ein aufgenommenes Bild aus einem Video auf (OpenCV)
Python-Skript, das eine JSON-Datei aus einer CSV-Datei erstellt
[Python] So erstellen Sie mit Matplotlib ein zweidimensionales Histogramm
Erstellen Sie eine Funktion in Python
Wie man ein Terminal hackt
So erstellen Sie mit Python ein radiales Profil aus astronomischen Bildern (Chandra, XMM usw.)
Verwendung der NUITKA-Utilities-Hinweis-Kompilierung zum einfachen Erstellen einer ausführbaren Datei aus einem Python-Skript
Erstellen wir eine Funktion für den parametrisierten Test mithilfe eines Rahmenobjekts
Erstellen Sie eine Funktion zum Anzeigen von Bildern wie Jupyter / RStudio [Docker]
So schneiden Sie ein Block-Multiple-Array aus einem Multiple-Array in Python