我有2个文件:
variables.py:
global var
var = 'test'
和main.py:
import variables
class functionsclass:
def __init__(self):
self.testfunction()
def testfunction(self):
print(variables.var)
functionsclass()
不起作用,因为'variables.var'没有指向'test'。 我必须写什么才能访问变量'var'? 我不想使用参数,我只想访问全局变量。
编辑:抱歉。我很笨在我的原始文件中,我将错误的var设置为全局,这就是我无法访问它的原因。
干杯
答案 0 :(得分:0)
我尝试了你的repro,它对python2
和python3
都适用。 <{1}}关键字确实something different并且不需要,但不会受到伤害。
[另外,FWIW我建议使用新式的课程,例如global
]
答案 1 :(得分:0)
我也试过你的代码,它确实对我有用: - 成功打印“test”。由于你的代码没有运行,我没有看到任何错误。
听起来可能很愚蠢,但只需检查两个文件(variables.py
和main.py
)是否在同一目录中。因为,将这两个文件保存在单独的目录中会使其无法访问。
并且,您能否尝试对main.py
文件进行以下修改,并检查其是否有效: -
from variables import var
class functionsclass:
def __init__(self):
self.testfunction()
def testfunction(self):
print(var)
functionsclass()