码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2020-05-19 22:18:02      阅读:62      评论:0      收藏:0      [点我收藏+]

标签:修改   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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!