UnboundLocalError: local variable 'total' referenced before assignment
。首先,很抱歉问这个愚蠢的问题,我知道这很简单,但是我似乎一点都不明白,所以想问问你们。total = 0
def count(string, letter):
for x in string:
if x == letter:
total +=1
print(y)
据我所知,total
已在函数之前分配,因此它应该是全局变量,并且可以在脚本中的任何位置使用。当我使用
def count(string, letter):
total = 0
for x in string:
if x == letter:
total +=1
print(y)
当我运行此命令时,在函数内使用total
的分配可以正常工作。但是我想知道为什么我首先遇到上面的错误。请给我解释一下。我正在用pdf格式并在你们的帮助下自行学习。
提前感谢
我收到此错误UnboundLocalError:在运行下面的代码时在分配之前引用了本地变量'total'。首先,很抱歉问这个愚蠢的问题,我知道这很简单,但我不是...
count(string, letter)
函数内部声明/定义“总计”变量。在Python中,函数无法像JavaScript中的函数那样访问外部/全局变量,除了像count(string, letter, total)
这样将外部变量作为参数传递给该函数外,但以前我们需要使用这三个参数来定义函数。