首页 > 解决方案 > 要求返回变量时出现 Python 错误(在赋值之前引用)

问题描述

我有以下代码,但 Python 一直说“在赋值之前引用了局部变量 'a'

def inter(X,Y):
    if pertenece(cabeza(X),Y):
        a = lista(cabeza(X),inter(cola(X),Y))
    elif vacia(cola(X)): return a
    else: inter(cola(X),Y)

我不知道为什么我会收到这个错误,因为我在引用它之前已经定义了“ a ”。请帮忙。

函数 ' pertenece '、' cabeza '、' cola '、' vacia ' 和 ' lista ' 都是以前定义的并且没有问题。

标签: pythonvariables

解决方案


我认为这是因为您在 if 子句中初始化 var a ,并在另一个 if 子句中引用它,因此考虑到它可能会或可能不会在 if 子句中引用它之前被初始化的条件。您可以尝试在第一个 if 子句之前在函数体内将 a 初始化为空值或 null 值。也许这会有所帮助。


推荐阅读