var_doesHave = True
class A:
global var_doesHave
var_doesHave = False
# Call Class B
class B:
if (var_doesHave):
# do foo
else:
# do bar
我有一个类似于这样的pythonluigi管道代码。当我检查终端时,程序似乎调用类A并设置doesHave=false,但在运行类B之前,doesHave恢复为true。在
基本上,我想做'bar',但是它一直在做'foo',因为全局变量一直在返回true。在
有人能解释一下为什么会这样吗?我几乎可以肯定这与Luigi管道有关,而不是Python本身。在
您没有正确使用python。在类内部,您应该使用方法,尤其是
__init__
方法,如果您想在初始化实例时运行某些代码(即调用A()
),或者如果您想在类被调用时运行代码,__call__
方法。在所以修改你的代码:
还请注意,您的代码没有正确缩进。在
相关问题 更多 >
编程相关推荐