python - 将函数结果分配给与函数同名的变量时出现 UnboundLocalError
问题描述
为什么我越来越
UnboundLocalError:分配前引用的局部变量“热图”
在下面的脚本就行了heatmap = heatmap()
?
def heatmap():
heatmap = "123"
return heatmap
def run():
heatmap = heatmap()
return heatmap
print(run())
解决方案
因为您对函数和局部变量使用相同的名称。不应该这样做。
这一行:
heatmap = heatmap()
首先声明新变量heatmap
,从而隐藏函数,然后尝试调用heatmap()
来初始化它。但是此时已经没有这个函数了,因为从现在开始它就是一个局部变量了