报错(UnboundLocalError: local variable 'xxx' referenced before assignment)的解决办法

今天写个程序,运行报错:UnboundLocalError: local variable ‘xxx’ referenced before assignment(xxx为程序变量名),引发此错误的原因就是全局变量与局部变量引起的,详情请看下文:

一、报错演示

  1. 代码

    num = 1
    
    def test():
        num += 1
        return num
    
    print(test())
    
  2. 报错截图
    在这里插入图片描述

    num为变量名,会根据你程序变量发生变化,灵活使用

二、问题解决

  1. 首先翻译一下报错
    在这里插入图片描述
    报错说赋值前引用的变量’xxx’,但是我们已经声明了,这就是局部变量与全局变量的区别

  2. 解决
    使用global xxx声明一下变量即可

    num = 1
    
    def test():
        global num
        num += 1
        return num
    
    print(test())
    

欢迎大家吐槽

发布了63 篇原创文章 · 获赞 87 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/weixin_44110998/article/details/103574497