已定义msg却触发NameError: name 'msg' is not defined错误求助
解决NameError: name 'msg' is not defined问题
- 确认运行的文件是你编辑保存的那个:很多时候是保存了代码,但执行的是另一个同名文件或旧版本文件。直接用终端输入
python 你的文件名.py,确保文件名和你编写代码的文件完全对应。 - 检查变量作用域:如果
msg是定义在if、for循环或者函数内部的缩进块里,在缩进块外部调用它就会触发错误。对照截图里的代码,保证msg定义在全局区域,或者调用它的代码处于同一个作用域内。 - 刷新IDE缓存:部分IDE会留存旧代码缓存,即使你保存了修改,运行的还是旧版本。可以重启IDE,或者直接用终端命令运行代码,排除IDE缓存的影响。
- 核对拼写细节:别忽略拼写问题,定义时写
msg,调用时写成Msg或者msq这类错误,也会导致变量找不到,仔细检查一遍拼写是否完全一致。
内容的提问来源于stack exchange,提问作者Joon Choi
相关产品推荐
相关产品推荐

