导入的 Python 类中的全局变量



这是我第一次尝试在python中实现"一点点大"的项目。因此,我想使用不同的python文件构建整个项目。我还需要一些全局变量。如果我将所有内容放在一个文件中,以下示例有效。一旦我分成两个文件,它就不再起作用了。解决问题的优雅方法是什么:

class MyClass:
    def call(self):
        print("In Methode call")
        self.check()
    def check(self):
        global a
        if a:
            print("a ist True")
            a = False
        else:
            print("a ist False")
            a = True
    def methode3(self):
        print("In methode 3")

if __name__=="__main__":
    a=True    
    instanz = MyClass()
    instanz.methode3()
    instanz.call()
    instanz.check()

此脚本本身工作正常。

如果我现在从下面的第二个脚本调用它,我会收到未定义"a"的错误。调用 instanz.methode3() 当然有效。

import test
a = True;
instanz = test.MyClass();
instanz.methode3()
instanz.call()

以下检查,

if __name__=="__main__":

仅当文件自行运行而不是导入时调用。在此if之外声明a应按预期工作。

此外,要访问新变量a,请使用 test.a

相关内容

  • 没有找到相关文章

最新更新