J'ai la structure suivante:état Stocker entre la fonction de module appelle
app/
test1.py
test/
__init__.py
test2.py
importer test2.py
dans test1.py
et utiliser les fonctions de test2.py
est la suivante:
test1.py:
import test.test2 as T
T.hello()
...
T.hello1()
test2.py:
d = {}
def hello():
print('hi')
global d
d['1'] = 1
def hello1():
print('hi1')
global d
print(d) # prints{'1': 1}
test1.py
appellera hello
et après appel quelque temps hello1
. Je veux remplir le dict
d
en hello
et l'utiliser en hello1
. En utilisant un global
fonctionne très bien, mais quelle est une meilleure façon de le faire puisque je veux éviter globals
. Je ne veux pas passer d
de hello
au caller
en test1
et puis de là à hello1
.
Que puis-je faire pour éviter globals
. J'utilise python 3.5
.
Avez-vous une raison pour éviter de mettre les deux fonctions hello dans une classe? Deux fonctions avec l'état partagé semblent être un cas d'utilisation évident pour une classe avec une variable d'instance self.d. – csunday95
Le fichier 'test1.py' sera importé plus haut (contrairement à ma structure que j'ai utilisée pour la simplification) donc je devrais ajouter une classe dans' test1.py' et je veux savoir s'il y a d'autres façon? – PYA