Créer une portée locale en Python sans polluer l'espace de noms

C'est un sujet qui peut être grondé par les pythonistes dévots, mais dans la situation où je veux traiter dans un environnement Python intégré sans polluer l'espace de noms, j'ai créé une portée locale en utilisant le code suivant. J'ai confirmé que cela fonctionnait avec Python 2.7.4 / 3.3.1, mais je n'ai pas fait grand chose, donc je pense que cela fonctionnera également avec d'autres versions.

localscope.py


DummyClassForLocalScope = "global value"

try:
    class DummyClassForLocalScope:
        # you can write any code here

        raise RuntimeError("Exit from local scope")
except RuntimeError as exception:
    if exception.args != ("Exit from local scope",):
        raise exception

print(DummyClassForLocalScope)

J'annule simplement la création de classe en créant une portée locale avec l'instruction de classe et en levant une exception à la fin de la portée locale.

Je ne veux pas beaucoup l'utiliser même si je fais une erreur, mais si vous voulez vraiment faire quelque chose comme (function () {...} ()); en JavaScript, il existe aussi une telle méthode.

Recommended Posts

Créer une portée locale en Python sans polluer l'espace de noms
Créer une fonction en Python
Créer en Python sans fichier image factice dans Django et tester le téléchargement de l'image
Créer un conteneur DI avec Python
Créer un fichier binaire en Python
Créez Gmail en Python sans utiliser l'API
Créer une chaîne aléatoire en Python
Ecrire le test dans la docstring python
Créer une application GUI simple en Python
Exécuter l'interpréteur Python dans le script
[GPS] Créer un fichier kml avec Python
Comment créer facilement un environnement où le code Python peut s'exécuter sur Jupyter sans polluer l'environnement local
Créer un enregistrement avec des pièces jointes dans KINTONE à l'aide du module de requêtes Python
Créez un environnement de test Vim + Python en 1 minute
Créer un fichier GIF en utilisant Pillow en Python
[Python] Récupérez les fichiers dans le dossier avec Python
Récupérer l'appelant d'une fonction en Python
Je veux créer une fenêtre avec Python
Créer un graphique de distribution normale standard en Python
Comment créer un fichier JSON en Python
Créer un environnement virtuel avec conda avec Python
Copiez la liste en Python
Créer un modèle d'investissement dynamique simple en Python
Créer une nouvelle page en confluence avec Python
Créer un objet datetime à partir d'une chaîne en Python (Python 3.3)
Sortie sous la forme d'un tableau python
Créer un package contenant des commandes globales en Python
[Python] Trouvez la matrice de translocation en notation d'inclusion
Créez un fichier MIDI en Python en utilisant pretty_midi
Créer un modèle d'antenne cadre en Python dans KiCad
[Docker] Créez un environnement jupyterLab (python) en 3 minutes!
Une solution si vous supprimez accidentellement l'interpréteur python dans / usr / local / bin /.
Créer un projet et une application Django dans un environnement virtuel Python et démarrer le serveur
Créer un module Python
Créer Spatia Lite en Python
Créer un environnement Python
Vérifiez si la chaîne est un nombre en python
Créer un bot de collecte de données en Python à l'aide de Selenium
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 1 ~
[API LINE Messaging] Créez un menu riche avec Python
Créer un plugin pour exécuter Python Doctest sur Vim (2)
Créez un plug-in pour exécuter Python Doctest avec Vim (1)
En Python, créez un décorateur qui accepte dynamiquement les arguments Créer un décorateur
Ecrire un histogramme à l'échelle logarithmique sur l'axe des x en python
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 2 ~
Résoudre un coup (retour en arrière sans récursivité en Python)
Un mémorandum sur la mise en œuvre des recommandations en Python
Créez un faux serveur Minecraft en Python avec Quarry
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 3 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 4 ~
[CRUD] [Django] Créer un site CRUD en utilisant le framework Python Django ~ 5 ~
Que signifie le dernier () dans une fonction en Python?
Créez un fichier exe qui fonctionne dans un environnement Windows sans Python avec PyInstaller
Prendre une capture d'écran en Python
Créer un plugin Wox (Python)
Découvrez la largeur apparente d'une chaîne en python