Lorsqu'ils sont exécutés dans un script, les «x», «y» et «z» ci-dessous pointent tous vers le même objet «dict».
test_globals.py
import sys
x = globals()
y = sys.modules["__main__"].__dict__
def foo():
print("foo.")
z = foo.__globals__
Pour vérifier, exécutez python -i test_globals.py
et exécutez ce qui suit dans l'interpréteur.
python
>>> x is y is z
True
>>> [id(w) for w in (x, y, z)]
[10317376, 10317376, 10317376]
Recommended Posts