这是我第一次尝试在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()
答案 0 :(得分:0)
以下检查,
if __name__=="__main__":
仅在文件自行运行而不是导入时才从中调用。在此a
之外声明if
应该可以正常工作。
此外,要访问新变量a
,请使用test.a
。