Comment créer un objet fonction à partir d'une chaîne

Lors de la définition d'une fonction en Python, vous utiliseriez normalement l'instruction def et l'écrivez comme suit.

python


def foo(x):
    print(x)

Cette instruction de définition de fonction crée un objet fonction et l'assigne au nom «foo» dans l'espace de noms global.

Lorsque le script Python qui définit cette fonction est donné sous forme de texte de l'extérieur, le code suivant réalise le même traitement que la définition de fonction ci-dessus.

python


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

La fonction intégrée ʻexecexécute le code Python (chaîne ou objet Code) du premier argument dans l'espace de noms du deuxième argument. Dans cet exemple, le deuxième argument,globals (), passe l'espace de noms global pour ce module, donc un objet fonction y est créé avec le nom foo. Autrement dit, «foo» est créé comme vous le définiriez normalement dans une instruction «def». En fait, lorsque vous exécutez foo, vous pouvez voir qu'il peut être utilisé de la même manière qu'il est normalement défini dans l'instruction def`.

python


>>> foo("hello")
hello

Recommended Posts

Comment créer un objet fonction à partir d'une chaîne
Comment créer un clone depuis Github
Comment créer un référentiel à partir d'un média
Comment générer un objet Python à partir de JSON
Créer un objet datetime à partir d'une chaîne en Python (Python 3.3)
Comment appeler une fonction
[Python] Comment appeler une fonction de c depuis python (édition ctypes)
Créez un Dataframe pandas à partir d'une chaîne.
Comment créer un package Conda
Comment créer une fonction récursive
Comment créer un pont virtuel
Python --Fonction d'appel dynamique à partir d'une chaîne
Comment créer un Dockerfile (basique)
Comment créer un fichier de configuration
Comment créer un dossier git clone
[Python] Comment inverser une chaîne de caractères
[Introduction à Python] Comment fractionner une chaîne de caractères avec la fonction split
Comment obtenir une chaîne à partir d'un argument de ligne de commande en python
Comment extraire la chaîne de caractères souhaitée à partir d'une ligne 4 commandes
Modifier Excel à partir de Python pour créer un tableau croisé dynamique
Comment ouvrir un navigateur Web à partir de python
Comment incorporer des variables dans des chaînes python
Comment créer un fichier JSON en Python
Comment extraire le coefficient de la formule minute
Comment créer un wrapper qui préserve la signature de la fonction à envelopper
[Note] Comment créer un environnement de développement Ruby
Comment créer une boîte de saisie Kivy 1 ligne
Procédure de création d'application multi-plateforme avec kivy
[Introduction à Python] Comment écrire une chaîne de caractères avec la fonction format
Comment créer une API Rest dans Django
[Go] Comment écrire ou appeler une fonction
Comment se moquer d'une fonction publique dans Pytest
[Note] Comment créer un environnement de développement Mac
[Python] J'ai essayé d'obtenir le nom du type sous forme de chaîne de caractères à partir de la fonction type
Lire la source Python-Markdown: Comment créer un analyseur
Comment créer un article à partir de la ligne de commande
Comment convertir / restaurer une chaîne avec [] en python
Créer une fonction pour visualiser / évaluer le résultat du clustering
Comment créer un sous-menu avec le plug-in [Blender]
Comment convertir un objet de classe en dictionnaire avec SQLAlchemy
[Python] Comment développer des variables dans une chaîne de caractères
[Go] Comment créer une erreur personnalisée pour Sentry
Comment créer un référentiel local pour le système d'exploitation Linux
Envisagez la conversion de Python récursif en non récursif
Exécuter la fonction Python à partir de Powershell (comment passer des arguments)
Comment créer un simple script serveur / client TCP
Comment publier un ticket depuis l'API Shogun
Comment prendre une image capturée à partir d'une vidéo (OpenCV)
Script Python qui crée un fichier JSON à partir d'un fichier CSV
[Python] Comment créer un histogramme bidimensionnel avec Matplotlib
Créer une fonction en Python
Comment pirater un terminal
Comment créer un profil radial à partir d'images astronomiques (Chandra, XMM etc.) en utilisant python
Comment utiliser NUITKA-Utilities hinted-compilation pour créer facilement un fichier exécutable à partir d'un script Python
Créons une fonction pour le test paramétré à l'aide d'un objet frame
Créer une fonction pour afficher des images comme Jupyter / RStudio [Docker]
Comment découper un bloc de plusieurs tableaux à partir d'un multiple en Python