这是我第一次尝试在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
。