这段代码出现了错误:
UnboundLocalError: local variable 'LINES' referenced before assignment
,但是LINES
已经被初始化了。如果我把print语句下面的一行注释掉,它就不会报错,并按预期打印出len(lines) = 0
。难道我没有理解Python的某些东西吗?这是怎么回事?LINES = []
def foo():
for prob in range(1,3):
print "len(lines) = %d" % len(LINES)
LINES = []
if __name__ == "__main__":
foo()
LINES = []
被注释掉或替换为LINES.append(prob)
时它就能工作呢? - anthonybell