假设我有一个app.py
定义全局变量的主模块GLOBVAR = 123
。此外,此模块导入bar
位于另一个模块中的类foo
:
from foo import bar
在主模块中app
,我现在从类中调用一个方法bar
。在该方法中,我想GLOBVAR
从主模块访问值app
。
一种直接的方法是简单地GLOBVAR
作为参数传递给方法。但是Python中是否还有另一种允许我GLOBVAR
直接访问的解决方案?
在模块foo
中,我尝试了以下方法之一:
from app import GLOBVAR # option 1
import app.GLOBVAR # option 2
但是,这两个选项都会在运行时导致以下错误:
ImportError: cannot import name bar
我知道这会导致 和 之间的循环app
导入foo
。那么,在 Python 中有解决方案,还是我必须将值作为参数传递给函数?