”local variable 'xxx' referenced before assignment“python函数中改变外部定义数值时报错
Posted CrazyJhq
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了”local variable 'xxx' referenced before assignment“python函数中改变外部定义数值时报错相关的知识,希望对你有一定的参考价值。
原代码如下:
lane_flag = 0 def change_lane(): lane_flag = ~lane_flag
主程序中调用change_lane()时,报错如下:local variable ‘xxx‘ referenced before assignment(变量在引用前还没有定义)
(如果不对lane_flag进行操作,则不会出现以上错误)
例如:
lane_flag = 0 def change_lane(): if lane_flag == 0: print("It is 0 !")
该段代码则不会报错
错误原因如下:
Python中定义函数时,若想在函数内部对函数外的变量进行操作,就需要在函数内部声明其为global。
修改如下:(在函数里声明lane_flag为global)
lane_flag = 0 def change_lane(): global lane_flag lane_flag = ~lane_flag
以上是关于”local variable 'xxx' referenced before assignment“python函数中改变外部定义数值时报错的主要内容,如果未能解决你的问题,请参考以下文章