一、举例:

计算a到10的和

sum=0
def func(a):while a<=10:sum+=aa+=1return sum
print(func(9))

运行结果:

UnboundLocalError: local variable ‘sum’ referenced before assignment

二、原因分析

如果在一个范围内,对一个变量进行赋值,那么这个变量就会被认为是局部变量,就像在func()这个函数范围之内,我们对sum这个变量进行了重新赋值:sum+=a,那么编译器就会认为sum这个变量是一个局部变量,而这个赋值表达式实际上是从右向左进行的,也就是说,在进行sum+1运算的时候,sum并没有被定义,所以就爆出了这个UnboundLocalError错误。

三、解决办法

在对sum进行赋值之前,先用global关键字将sum变成一个全局变量,这样设置之后,编译器就会看到sum已经在函数之外定义过了,所以就不会报错。

sum=0
def func(a):global sumwhile a<=10:sum+=aa+=1return sum
print(func(8))

UnboundLocalError: local variable ‘XXX‘ referenced before assignment解决办法相关推荐

  1. 【报错】UnboundLocalError: local variable ‘XXX‘ referenced before assignment解决办法

    参考这篇 https://blog.csdn.net/YZL40514131/article/details/122082820

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

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

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

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

  4. python的UnboundLocalError: local variable 'xxx' referenced before assignment

    From: http://blog.sina.com.cn/s/blog_8d3652760101d01p.html 一.意思: 本地变量xxx引用前没定义. 二.错误原因 在于python没有变量的 ...

  5. Python问题:UnboundLocalError: local variable 'xxx' referenced before assignment

    UnboundLocalError: local variable 'xxx' referenced before assignment 原因分析:函数使用时,没有定义. 解决方法:查看报错的变量是否 ...

  6. Python 解决 local variable ‘xxx‘ referenced before assignment

    解决 local variable 'xxx' referenced before assignment 在刷leetcode的时候,定义全局变量后在函数中调用总是会出现这个错误,一直没搞明白,现在记 ...

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

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

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

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

  9. python local variable 'xxx' referenced before assignment

    python local variable 'xxx' referenced before assignment 代码 1 # -*- coding:utf-8 -*- 2  import sys 3 ...

最新文章

  1. 【怎样写代码】工厂三兄弟之工厂方法模式(四):工厂方法模式
  2. 磁盘IO:缓存IO、直接IO、内存映射
  3. 10_史上最全的Markdown使用教程(没有之一)(20190115)
  4. hdu 4099 字典树 + 斐波那契
  5. C++著名程序库的比较和学习经验
  6. F - 阿汤的疑惑(模拟取余+分解质因数)
  7. 使用计算机的优点缺点,计算机使用二进制的优缺点
  8. 子进程无法从标准输入读取数据
  9. (转)基于MVC4+EasyUI的Web开发框架经验总结(13)--DataGrid控件实现自动适应宽带高度...
  10. Machine Learning - I. Introduction机器学习综述 (Week 1)
  11. 浏览器文件服务器计算器设置,【魅蓝 U20使用总结】界面|浏览器|计算器|设置_摘要频道_什么值得买...
  12. 软件开发工程师能力模型
  13. 怎么把网页保存成pdf格式-最简单操作
  14. maya导入abc动画_带你直观了解三维动画设计
  15. FFmpeg将音频、无音频的视频合并为视频
  16. 单引号、双引号、三引号用法
  17. Linux操作命令分类详解 - 目录文件(二)
  18. 8.9.2 疯狂填词
  19. 怎么用计算机求数值等于log,怎么用计算器上的log?
  20. 用python打印学生名单_Python2爬取学生名单

热门文章

  1. 数据中心实现高效运维的秘诀
  2. nbu 恢复oracle数据库,关于使用nbu重定向恢复oracle数据库rman报错
  3. c# vscode 配置_使用VSCode开发C#项目
  4. DL之ShuffleNetV2:ShuffleNetV2算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略
  5. CV之IS:计算机视觉之图像分割(Image Segmentation)/语义分割算法的简介、使用方法、案例应用之详细攻略
  6. Dataset之MNIST:MNIST(手写数字图片识别+ubyte.gz文件)数据集简介、下载、使用方法(包括数据增强)之详细攻略
  7. upload-labs-master文件上传靶场第七关详解
  8. github RL: DP
  9. [转载]input[type=file]在移动端各浏览器无法适配打开相机的问题。
  10. MySQL慢查询日志ES索引模板