Python 在整个模块中保持全速运行?

Python 在整个模块中保持全速运行?,python,Python,我没有成功地在整个Python程序中保持一个运行总数。我在模块的开头声明一个变量,并在后续函数中递增它。我总是收到错误消息: UnboundLocalError:分配前引用了局部变量“URL\u checked”。 我唯一没有得到该错误的时候是在函数check\u url中声明运行总数,但这是毫无意义的。每次将其值重新初始化为0 在这个程序中,是否不可能检查URL的运行总数 下面,我制作了一个非常简化的原始程序模型: url\u选中=0 def检查页面中的URL(html页面): 对于范围(4

我没有成功地在整个Python程序中保持一个运行总数。我在模块的开头声明一个变量,并在后续函数中递增它。我总是收到错误消息:

UnboundLocalError:分配前引用了局部变量“URL\u checked”。
我唯一没有得到该错误的时候是在函数
check\u url
中声明运行总数,但这是毫无意义的。每次将其值重新初始化为0

在这个程序中,是否不可能检查URL的运行总数

下面,我制作了一个非常简化的原始程序模型:

url\u选中=0
def检查页面中的URL(html页面):
对于范围(4)内的var:
检查url(变量)
def检查url(url):
#检查url的有效性
#提高运行总量
# ...
URL_选中+=1
如果名称=“\uuuuu main\uuuuuuuu”:
URL\u checked=0
html\u page=“somepage.html”
检查页面中的URL(html页面)
打印(“选中URL:”,选中URL)

这是因为您当前正在本地访问变量,但该变量已被全局声明,要解决此问题,请确保将变量全局化,如下所示:

global urls_checked

将其添加到使用
url\u checked
变量的函数中。

函数
check\u url()
中的本地名称空间不包括
url\u checked
,因为它不是全局变量,要在函数中引用它,请使用
global
关键字:

url\u选中=0
def检查url(url):
全局URL检查
URL_选中+=1
检查url()
打印(已选中URL)
>>> 1

要格式化代码块,请使用
``
,而不是
`
。这是否回答了您的问题?这回答了你的问题吗?没问题,如果有帮助,请确保将其标记为解决方案:)