Python 包在其他文件中看不到全局变量



我正在创建一个Python包,玩得很开心。然而,我有一个问题;

一个假设为全局的变量看不到!这是文件

__init__.py
main.py
helpers.py

在main.py中,我有以下

from .helpers import *
class scene:
def __init__(self,variables):
self.variables = variables
global _scene
_scene = scene(100)

因此,我正在创建一个应该可以全局访问的场景(_S(。然而,这在helpers.py中不起作用;

from .main import *
print(_scene)

当我运行时,我得到错误:名称错误:名称"_scene"未定义

我认为init.py是不错的

from .main import *
from .helpers import *

我错过了什么?希望您的意见!

如果您想使用文件中的全局变量并在其他文件中使用它们,反之亦然,这是个坏主意。它造成了周期性依赖。如果需要在两个文件中都使用全局变量,可以定义第三个文件MyGlobals.py并在其中声明全局变量。然后将该文件导入helpers.pymain.py,并通过MyGlobals._scene进行访问

最新更新