所以有问题的函数很长,我就总结一下。
def func1( X = None, Y = None ) :
if X :
dostuff
if condition :
Z += 1
if Y :
print Y
func1.Z = 0
def func2( A )
for loop that does stuff and calls func1
当我运行它时,它告诉我 Z += 1 行有一个错误“UnboundLocalError: local variable 'Z' referenced before assignment”
我已经阅读了我可以找到的所有未绑定本地错误和引用之前的分配问题,但没有一个问题看起来相似,也没有一个解决方案有效。
我应该让 Z 成为全球性的吗?