zoukankan      html  css  js  c++  java
  • local variable 'x' referenced before assignment

    出现此情况原因:

    1、说明x在其他函数中定义过,但x不是全局变量。(或者是多线程调用本函数,因为共享变量,也会报此错误)

    2、变量在本函数中,在其调用之前的if语句中被定义过,但由于某次执行,不满足条件,使得x未进入过if语句,从而使得a未真正意义上被定义,所以报此错误。

    比如:

    def func1():
        x = 88  # 定义x
    
    def func2():
        c = 5
        if c > 10:
            x = 3
        print(x)  # 因为x在其他函数中已定义且不是全局变量,在本函数中存在,但实质上未被定义,所以会报此错误
    func2()  # 调用函数
    

    报错如下:

    ---------------------------------------------------------------------------
    
    UnboundLocalError                         Traceback (most recent call last)
    
    <ipython-input-1-7cd0b1f55a26> in <module>
          7         x = 3
          8     print(x)  # 因为x在其他函数中已定义且不是全局变量,在本函数中存在,但实质上未被定义,所以会报此错误
    ----> 9 func2()
    
    
    <ipython-input-1-7cd0b1f55a26> in func2()
          6     if c > 10:
          7         x = 3
    ----> 8     print(x)  # 因为x在其他函数中已定义且不是全局变量,在本函数中存在,但实质上未被定义,所以会报此错误
          9 func2()
    
    
    UnboundLocalError: local variable 'x' referenced before assignment
  • 相关阅读:
    显示等待WebDriverWait
    MySQL添加注释
    linux
    linux时区问题
    CentOS禁用笔记本touchpad
    Mysql事务隔离级别
    IDEA集成有道翻译插件/maven帮助插件/mybatis插件
    SVN服务器的搭建和使用
    IntelliJ IDEA工具的安装使用
    IntelliJ IDEA的使用操作链接
  • 原文地址:https://www.cnblogs.com/jaysonteng/p/12987384.html
Copyright © 2011-2022 走看看