安云网 - AnYun.ORG | 专注于网络信息收集、网络数据分享、网络安全研究、网络各种猎奇八卦。
当前位置: 安云网 > 技术关注 > 编程茶楼 > Python > python的UnboundLocalError: local variable 'xxx' referenced before assignment

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

时间:2017-07-28来源:未知 作者:安云网点击:
一、意思 : 本地变量xxx引用前没定义。 二、错误原因 在于python没有变量的声明 , 所以它通过一个简单的规则找出变量的范围 :如果有一个函数内部的变量赋值 , 该变量被认为是本地的, 所以如果有修改变量的值就会变成局部

一、意思

    本地变量xxx引用前没定义。

//ANYUN.ORG

二、错误原因

//安云网,anyun.org

    在于python没有变量的声明 , 所以它通过一个简单的规则找出变量的范围 :如果有一个函数内部的变量赋值 ,该变量被认为是本地的,所以如果有修改变量的值就会变成局部变量。

//内容来自安云网


//安云网咨询系统

三、产生这个错误的场景
//内容来自安云网

python代码:
val=9
def test(flag):  
    if flag:  
        val = 1  
    else:  
        print 'fuck'  

//ANYUN.ORG


    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)


//ANYUN.ORG

参考资料:http://www.uplook.cn/biancheng/107/1078875/ //安云网咨询系统


//本文来自安云网

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
验证码: 点击我更换图片
相关内容
推荐内容