1

我只需要澄清一下为什么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
4

0 回答 0