Python 在类内使用来自外部类的变量
我有两个文件: variables.py:Python 在类内使用来自外部类的变量,python,python-3.x,Python,Python 3.x,我有两个文件: 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
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设置为global,这就是我无法访问它的原因。
干杯我试过你的程序,它在
python2
和python3
上都很好用。global
关键字实际上是,也不是必需的,但并不有害
[此外,FWIW我建议使用新样式的类,例如
类函数类(对象):
]我也尝试了您的代码,它确实对我有用:-成功打印了“测试”。我没有看到任何错误,因为你的代码没有运行
这听起来可能很愚蠢,但只需检查这两个文件(variables.py
和main.py
)是否在同一目录中即可。因为,将这两个文件保存在单独的目录中会使其无法访问
另外,请尝试对main.py
文件进行以下修改,并检查其是否有效:-
from variables import var
class functionsclass:
def __init__(self):
self.testfunction()
def testfunction(self):
print(var)
functionsclass()
这对我有用。确保
main.py
与variables.py
位于同一目录中?您观察到的错误是什么?你有回溯吗?对不起。我很笨。在我的原始文件中,我将错误的var设置为global,这就是我无法访问它的原因。对不起。我很笨。在我的原始文件中,我将错误的var设置为global,这就是我无法访问它的原因。