J'ai rencontré un problème avec les variables de portée quand IPython est invoqué à la fin d'un script python. Toutes les fonctions que j'appelle dans le script lui-même peuvent modifier des variables, qui seront ensuite utilisées par d'autres fonctions. Si j'appelle les mêmes fonctions dans ipython, les fonctions scriptées peuvent accéder aux variables modifiées mais les variables qui existaient quand ipython a été appelée ne changent pas. Donc ma question: Comment puis-je propager les variables globales dans ipython? (je pourrais faire quelque chose comme A = globals() [ 'A'] bien sûr mais c'est laid)IPython avec sa propre portée?
0
A
Répondre
0
Vous pouvez créer une classe avec une méthode statique (décorateur: @staticmethod
) qui renvoie une instance singleton de cette classe. Cet objet peut contenir n'importe quel nombre de membres qui fonctionnent comme globals.
class Globals:
__master = None
somevar = 1
othervar = 2
@staticmethod
def get_master():
if Globals.__master is None:
Globals.__master = Globals()
return Globals.__master
g1 = Globals.get_master()
g2 = Globals.get_master()
g1.somevar += 1
print g1.somevar
print g2.somevar
Prints:
2
2
Questions connexes
- 1. plugin jQuery avec sa propre API
- 2. Deux TransactionScope parallèles chacun avec sa propre connexion
- 3. Comment avoir une relation @OneToMany avec sa propre entité?
- 4. Présentation d'Interface Builder ViewController avec sa propre plume
- 5. comment créer sa propre fonction dans JQuery?
- 6. Affectation Chaque clé primaire sa propre colonne
- 7. Comment utiliser IPython avec IronPython
- 8. quitter ipython
- 9. Bison/Yacc, rendre le jeton littéral retourne sa propre valeur?
- 10. Comment mon application Flash peut-elle déterminer sa propre URL?
- 11. Comment créer un "partial" qui a sa propre action?
- 12. rediriger les résultats de l'application Web vers sa propre application
- 13. Comment s'assurer que xml.dom.minidom peut analyser sa propre sortie?
- 14. Comment obtenir l'occurrence totale d'une valeur dans sa propre requête?
- 15. Problème étrange avec l'encodage d'entrée dans IPython
- 16. Windows dispose de sa propre fonction « d'appel autre .exe » (C++)
- 17. Dates de style de calendrier d'événements pour sa propre catégorie
- 18. Impression d'un fichier externe dans sa propre impression de routine
- 19. Transmettre sa propre structure en opengl es 2.0 shader
- 20. Chaque table dérivée doit avoir sa propre erreur alias
- 21. Exécuter sa propre commande Unix dans le terminal?
- 22. insérer sa propre image sur excel par C#
- 23. Comment appeler la méthode d'interface dans sa propre classe?
- 24. Utilisez Awk pour imprimer chaque caractère dans sa propre colonne?
- 25. Pourquoi VIM a-t-il sa propre syntaxe regex?
- 26. Une application Flex peut-elle détecter sa propre URL?
- 27. Données UDP de l'application Mac sur sa propre adresse IP
- 28. une page site.master peut-elle avoir sa propre page site.master?
- 29. Connecteur VGA pour iPad - Écran miroir dans sa propre application?
- 30. Avec boost :: spirit, comment est-ce qu'une partie d'un enregistrement doit être sur sa propre ligne?
où est staticmethod définir? Est-ce un builtin? – BandGap
Il est intégré à python 2.4 et versions ultérieures. –