Python中两种UnboundLocalError: local variable ‘xxx’ referenced before assignment情况的解决方法

Python中两种UnboundLocalError: local variable ‘xxx’ referenced before assignment情况的解决方法  1)在子程序中对全局变量的操作,比如val=9deftest(flag):   ifflag:     val=1   else:     print’Error’   returnval test(0)错误提示:UnboundLocalError:localvariable’val’referencedbefo…

大家好,又见面了,我是你们的朋友全栈君。

   1)在子程序中对全局变量的操作,比如
val=9
def test(flag):  
    if flag:  
        val = 1  
    else:  
        print ‘Error’  
    return val 

test(0)
错误提示:UnboundLocalError: local variable ‘val’ referenced before assignment

解决方法:用global关键字来进行说明该变量是全局变量
python代码:
val=9
def test(flag):
    global val
    if flag: 
        val = 1 
    else: 
        print ‘test’ 
    return val

test(0)

    2)局部变量,但仍然报出unboundLocal Error问题,比如:

def test(flag):
   if (a):
      bbb = aaa
   elif(b):
      bbb2 = aaa2
   print(bbb2)
错误提示:UnboundLocalError: local variable ‘bbb2’ referenced before assignment
报错的原因是python认为bbb2不一定能被赋值。

解决方案:先对bbb2赋值
def test(flag):
   bbb2=0
   if (a):
      bbb = aaa
   elif(b):
      bbb2 = aaa2
   print(bbb2)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150003.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • CSS基础笔记——超链接样式

    CSS基础笔记——超链接样式在浏览器中,超链接默认情况下字体为蓝色,带有下划线,鼠标单击时字体为红色,单击后为紫色而在CSS中,我们可以使用超链接伪类来定义超链接在鼠标单击的不同时期的样式a:link{…}a:visited{…}a:hover{…}a:active{…}定义四个伪类,必须按照link、visited、hover、active的顺序进行,不然浏览器可能无法正常显示这四种样式<!DOCTYPEhtml><html><head&gt

    2022年7月19日
    10
  • Python基本数据类型「建议收藏」

    Python基本数据类型「建议收藏」一、简介Python基本数据类型一般分为:数字、字符串、列表、元组、字典、集合这六种基本数据类型。其中数字又包含整型(整型又包括标准整型、长整型(Python2.7及之前版本有))、浮点型、复数类

    2022年7月5日
    20
  • python中pygame怎么安_Python中pygame安装方法图文详解

    python中pygame怎么安_Python中pygame安装方法图文详解本文实例讲述了Python中pygame安装方法。分享给大家供大家参考,具体如下:这里主要描述一下我们怎样来安装pygame可能很多人像我一样,发现了pygame是个好东东,但是就是不知道怎样使用,或者怎样安装,在百度/google上面搜索了一番后,发现没有一篇详细描述pygame的安装过程的文章。如果你是其中的一员,那么这篇教程可能会帮助到你。当然,在学习pygame的时候,需要你要有一定的py…

    2022年5月12日
    47
  • 常用网络工具

    常用网络工具这里是计算机网络的一些相关工具的用途和使用方法,很简洁。

    2022年6月20日
    22
  • Django(72)Django认证系统库–djoser「建议收藏」

    Django(72)Django认证系统库–djoser「建议收藏」djoser是什么?作用:Django认证系统的REST实现。djoser库提供了一组DjangoRestFramework视图,用于处理注册、登录、注销、密码重置和帐户激活等基本操作。它适用于

    2022年7月29日
    3
  • id门禁卡复制到手机_门禁卡怎么复制到苹果手机?「建议收藏」

    id门禁卡复制到手机_门禁卡怎么复制到苹果手机?「建议收藏」NFC手机一枚RootExplorerNFCTaginfo方法/步骤1,读取卡的62616964757a686964616fe78988e69d8331333363396461ID。安装“NFCTagInfo”,打开手机的NFC设置,门禁卡贴到手机后盖NFC部分,“NFCTagInfo”读取校园卡ID。可以看到我的卡ID是13:67:A9:0A修改手机NFC的ID。打开R.E.管理器,根目…

    2022年5月2日
    259

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号