val = 9
def test(flag): if flag:  val = 1  else:  print("test")  return val if __name__ == '__main__':ret = test(0)print(ret)

会出现:
UnboundLocalError: local variable ‘num’ referenced before assignment

即:局部变量“num”在指派前被引用了

python没有变量的声明 , 所以它通过一个简单的规则找出变量的范围 :调用时,先查找函数每一行的赋值语句,如果有一个函数内部的变量赋值了,(python眼里,赋值即重新定义,此时就定义了一个val),这时再由上到下执行语句时,由于局部变量的引用在前,定义在后,就会出现 referenced before assignment 。

这告诉我们,不允许直接修改全局变量的引用 ——即不要 使用赋值语句修改全局变量的值。如必须这么做:请加上关键字global:

val = 9
def test(flag): global valif flag:  val = 1  else:  print("test")  return val if __name__ == '__main__':ret = test(0)print(ret)

python 错误--UnboundLocalError: local variable 'num' referenced before assignment相关推荐

  1. Python 读写当前路径下文件错误 UnboundLocalError: local variable 'file' referenced before assignment

    python读取文件是个比较常用的操作,最近我在读取文件的时候却遇到下面这个问题. 我的代码是: try:file = open("./logs/test")... finally ...

  2. python UnboundLocalError: local variable 'log_f' referenced before assignment 错误

    在写一个python程序,用finally处理异常的时候,报了"UnboundLocalError: local variable 'log_f' referenced before ass ...

  3. python 错误--UnboundLocalError: local variable '**' referenced before assignment

    1 val = 9 2 def test(flag): 3 if flag: 4 val = 1 5 else: 6 print("test") 7 return val 8 9 ...

  4. UnboundLocalError: local variable ‘a‘ referenced before assignment(Python报错解决)

    问题提出 使用Python编程的时候,要注意函数内可以访问全局变量,但不能更新(修改)其值. 比如: a = 10 def sum ( n ) :n += aprint ('a = ', a, end ...

  5. 【debug】UnboundLocalError local variable a referenced before assignment

    1)下面这种情况是不会报错的: >>> x = 10 >>> def bar(): ... print(x) >>> bar() 10 (2)但是 ...

  6. UnboundLocalError: local variable ‘XXX‘ referenced before assignment解决办法

    一.举例: 计算a到10的和 sum=0 def func(a):while a<=10:sum+=aa+=1return sum print(func(9)) 运行结果: UnboundLoc ...

  7. UnboundLocalError: local variable 'end_page' referenced before assignment

    UnboundLocalError: local variable 'end_page' referenced before assignment 错误信息是在指出一个在使用之前没有赋值的局部变量.在 ...

  8. UnboundLocalError: local variable ‘loss’ referenced before assignment解决方法

    UnboundLocalError: local variable 'loss' referenced before assignment 文章目录 UnboundLocalError: local ...

  9. UnboundLocalError: local variable ‘Num_fSu‘ referenced before assignment

    在计算中调用 函数 calculate_psd 的时候,报了如下错误 def calculate_psd(Num_Tai, np_Tai, nr_in_10, Num_sub, dt, Tai) -& ...

最新文章

  1. ScheduleThreadPoolExecutor的工作原理与使用示例
  2. Missing artifact com.github.pagehelper:pagehelper:jar:3.4.2-fix的解决方法
  3. VB为自己的程序设定消息(可接收处理)
  4. Java基础学习总结(24)——Java单元测试之JUnit4详解
  5. MFC关键技术-永久保存机制
  6. java关闭文件句柄_java-JAI关闭文件句柄为时过早吗?
  7. 集成学习—决策树(CART)
  8. 基金一般拿多长时间合适?
  9. 牛逼!只需 3 步,Java 也能做图片识别!
  10. mysql序列号生成软件_GitHub - spcent/seq: 基于mysql的序列号生成器
  11. 谷歌金山词霸正式发布
  12. 我的盖洛普“优势识别器”测试证书
  13. 2010年中考英语写作高分指导
  14. 如何将陈述句变为疑问句
  15. unity 卡通动物 shader 包含边缘光,ramp,描边
  16. IE7 - 千呼万唤始出来
  17. 四足机器人|机器狗|仿生机器人|多足机器人|PPT|汇报|科研汇报PPT|技术汇报
  18. 2021-2022年十类(30+)热门资质证书汇总分享
  19. 基于微信小程序的食堂窗口自助点餐系统设计与实现-计算机毕业设计源码和lw文档
  20. 崩坏3服务器维护什么时候维护好,崩坏3 11月1日更新了什么_维护到什么时候结束...

热门文章

  1. 进入计算机管理界面win7,win7系统打开服务管理界面的操作方法
  2. Bugku 杂项 中国菜刀
  3. EAUML日拱一卒 时序图入门
  4. 车联网的精髓是服务-车联网服务
  5. 语言学句法分析树形图怎么画_教你如何能画语言学树型图
  6. 订阅号服务器消息推送数量,如何解决微信公众号一个月只能发4次消息的问题...
  7. 第八场多校联盟 Problem A: 序号互换 【模拟】
  8. Java中什么是JRE?什么是JRE?
  9. linux php验证码,openwrt路由器搭建PHP并用PHP识别验证码
  10. 机器学习-常用八大神经网络框架