我只需要澄清一下为什么while循环不能在函数外使用变量。它一直说变量尚未分配,即使它已经分配。跟优先级有关系吗?关于python如何设置变量?或者它只是while循环独有的?
test1 = True
test2 = True
while test1:
print("Test 1 " + str(test1))
test1 = False
def test_loop():
print("Test 2 " + str(test2))
# while test2:
# print("Test 2 " + str(test2))
# test2 = False
test_loop()
输出:
Test 1 True
Test 2 True
当函数(test_loop)中的while循环被注释掉时,这可以正常工作。只是为了测试我是否可以使用变量 test2 并将其打印出来。它可以。但是当我在函数中取消注释 while 循环时,变量 test2 未分配。这让我很困惑。
我收到此错误:
in test_loop print("Test 2 " + str(test2))
UnboundLocalError: local variable 'test2' referenced before assignment