Python 3:“赋值前引用的局部变量”

2024-09-29 22:24:15 发布

您现在位置:Python中文网/ 问答频道 /正文

已经看了其他答案,似乎无法解决这个问题。在

这是我的完整代码:http://pastebin.com/tW1kntG3

问题代码就在这里:

#Define the variables
global currentLoc
currentLoc=0

(显然,破坏代码的部分是行37

^{pr2}$

我的错误:

if currentLoc==0:
UnboundLocalError: local variable 'currentLoc' referenced before assignment

Tags: the答案代码comhttpif错误variables
2条回答

关键字global在函数的作用域中引入了一个全局变量,它没有将它声明为整个程序的全局变量。必须在要访问var_name变量的函数中使用global var_name。在

您需要在函数中声明一个全局。Python根据scope确定名称scope。如果在函数中指定一个名称(或将其用作导入目标、for目标或参数等),则Python会将该名称设为本地名称,除非另有说明。在

因此,在全局级别使用global是没有意义的,因为Python已经知道它是全局的。在

将您的global语句添加到每个尝试更改名称的函数中:

def displayMessage(call):
    global currentLoc

相关问题 更多 >

    热门问题