我有一个 pythonmodule_A
正在做这样的事情:
myvar = "Hello"
def message():
print myvar
从另一个模块,我想导入函数message
:
from module_A import message
但这是myvar
我不想要的定义(原因与此处无关)。我想我需要区分从模块导入东西和使用任何导入的符号。我实际上只想myvar
在使用.message
每当访问函数或类时,我可以使用任何类型的 python 钩子来初始化东西吗?我想要类似于以下内容:
module_setup_done = False
def setup():
global module_setup_done, myvar
if not module_setup_done:
myvar = "Hello"
module_setup_done = True
def message():
setup()
print myvar
但是,为了减少混乱,我希望自动调用它,如下所示:
def _init_module():
global myvar
myvar = "Hello"
def message():
print myvar
Where_init_module()
只会被调用一次,并且仅在第一次访问模块中的某些内容时调用,而不是在导入某些内容时。
python中是否支持这种模式?