如何解决如果我稍后要在函数中更改它,则未分配局部变量
player_health = 10
def add(num):
return num + player_health
def monster_room():
print(player_health) # Error on this line
player_health -= 1 # Doesn't crash without this line,even though the error is thrown on the prevIoUs line.
print(add(6)) # works
monster_room() # doesn't work
如果我尝试修改 player_health
会出错:
UnboundLocalError:在 main.py 中的第 10 行赋值之前引用了局部变量“player_health”
当我可以在 add
函数中使用变量时,它怎么可能没有被赋值?它不承认它是一个类级变量,因为我试图在函数内部修改它? Python 是否必须将您要使用的每个类级变量传递给函数,以便它可以在本地范围内执行所有操作?
解决方法
您需要在 global player_health
中进行更改的每个函数中放入 player_health
以对其进行更改。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。