Python 在类内使用来自外部类的变量

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

我有两个文件:

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设置为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,这就是我无法访问它的原因。