Je souhaite utiliser un module en tant que singleton référencé dans d'autres modules. Il ressemble à quelque chose comme ça (ce n'est pas en fait un code que je travaille, mais je simplifie à jeter tous les trucs sans rapport):Comment savoir si la variable est déclarée en Python?
main.py
import singleton
import printer
def main():
singleton.Init(1,2)
printer.Print()
if __name__ == '__main__':
pass
singleton.py
variable1 = ''
variable2 = ''
def Init(var1, var2)
variable1 = var1
variable2 = var2
printer.py
import singleton
def Print()
print singleton.variable1
print singleton.variable2
Je me attends à obtenir une sortie 1/2, mais obtenir un espace vide. Je comprends qu'après avoir importé singleton dans le module print.py, les variables ont été initialisées à nouveau.
Je pense donc que je dois vérifier si elles étaient intialized avant dans singleton.py:
if not (variable1):
variable1 = ''
if not (variable2)
variable2 = ''
Mais je ne sais pas comment faire. Ou il y a une meilleure façon d'utiliser des modules singleton en python dont je ne suis pas au courant :)
Merci beaucoup! C'était exactement ce que je cherchais. –