”local variable 'xxx' referenced before assignment“python函数中改变外部定义数值时报错

2021-01-17 07:13

阅读:702

标签:修改   sign   定义   引用   调用   nbsp   print   cal   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函数中改变外部定义数值时报错

标签:修改   sign   定义   引用   调用   nbsp   print   cal   python函数   

原文地址:https://www.cnblogs.com/stupidwf/p/12919920.html


评论


亲,登录后才可以留言!