当前位置: 首页 > 面试题库 >

Python 3:UnboundLocalError:分配前引用的局部变量

陶博涉
2023-03-14
问题内容

以下代码给出了错误UnboundLocalError: local variable 'Var1' referenced before assignment:

Var1 = 1
Var2 = 0
def function(): 
    if Var2 == 0 and Var1 > 0:
        print("Result One")
    elif Var2 == 1 and Var1 > 0:
        print("Result Two")
    elif Var1 < 1:
        print("Result Three")
    Var1 =- 1
function()

我怎样才能解决这个问题?谢谢你的帮助!


问题答案:

你可以通过传递参数而不是依赖全局变量来解决此问题

def function(Var1, Var2): 
    if Var2 == 0 and Var1 > 0:
        print("Result One")
    elif Var2 == 1 and Var1 > 0:
        print("Result Two")
    elif Var1 < 1:
        print("Result Three")
    return Var1 - 1
function(1, 1)


 类似资料:
  • 问题内容: 认为我在这里疯了。 给我UnboundLocalError。我在这里错过了什么重要概念? 问题答案: 您正在分配一个全局变量,这意味着您需要将其 标记 为全局变量: 当您在局部范围内分配变量时,除非您先使用一条语句告诉python,否则将假定它是局部变量。

  • 问题内容: 以下代码引发UnboundLocalError: 错误: 我不知道为什么。有人能指出我正确的方向吗? 问题答案: 如果conn.cursor()引发异常,则将永远不会分配cur,因此,finally块中的代码将在分配之前引用cur。 尝试删除该try块并查看会发生什么,很可能conn.cursor()抛出了某种异常,您需要对它进行梳理。

  • 问题内容: 我想知道你们是否可以提供帮助。我试图做一个简单的视图,它将用户发送到客户端创建表单,但是我一直收到此错误: 赋值之前引用的局部变量“ form” 查看我的代码,看不到有什么问题。 有人告诉我我哪里出问题了吗? 问题答案: 这是正在发生的事情: 没有输入该块。 变量未定义。 然后,你尝试在语句中引用变量。 至于解决方法,这确实是你要决定的。解决的方法取决于你希望代码执行的操作(如果请求方

  • 问题内容: 我正在尝试使用XPATH定位器单击包含文本“ Clean feed crm”的span标签。我得到错误: 完整的错误跟踪: 如果我使用绝对完整的XPATH,则效果很好。相对的XPATH显示错误。 可以使用的完整绝对XPATH是: 相对的XPATH不起作用是: HTML是: 我的方法实现是: 从我的TestCase类,我调用方法: Globals.py是: 我也尝试过使用WebDrive

  • 问题内容: 嗨,我对python中变量的作用域感到困惑。请解释以下片段之间的区别。 一世) O / P:2 [a_func()内部的a_var] o / p:UnboundLocalError:分配前已引用局部变量’a_var’ 为什么在第二种情况下不应用LEGB规则,它是否不能从类的封闭对象中获取值。请解释。提前致谢。 问题答案: 这似乎很奇怪(确实如此),但是 您并没有结束,只是结束了。该“

  • 我在找两个数的lcm。但是当我运行这个程序时,我得到了一个错误:UnboundLocalError:在赋值之前引用了本地变量'lcm',为什么我会得到这个错误呢?我不明白我的代码出了什么问题。请帮帮我 这是我的代码: