繁体   English   中英

UnboundLocalError:分配前引用的局部变量“转” - python

[英]UnboundLocalError: local variable 'turn' referenced before assignment - python

尝试查找此内容,但没有人对全局变量有此问题。 出于某种原因,如果我不将全局转向放在 function 内,它就会一直给我这个错误。

global turn
turn = 1
def turn_changer():
    if turn == 1:
        turn = 2
    else:
        turn = 1

这篇文章可能对你有所帮助。 本质上,由于 python 的变量作用域,您无法访问 function 之外的变量。 编译器需要一个名为turn的局部变量(在 function 主体内)。

当它找不到它时,它会抛出您描述的错误。 因此,如果您需要引用该变量,您可以按照您的建议指定global turn ,或者您可以将变量turn传递给 function。

您需要指定您将使用“全局” turn变量,这将起作用:

turn = 1
def turn_changer():
    global turn
    if turn == 1:
        turn = 2
    else:
        turn = 1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM