python - 要求返回变量时出现 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 ' 都是以前定义的并且没有问题。
解决方案
我认为这是因为您在 if 子句中初始化 var a ,并在另一个 if 子句中引用它,因此考虑到它可能会或可能不会在 if 子句中引用它之前被初始化的条件。您可以尝试在第一个 if 子句之前在函数体内将 a 初始化为空值或 null 值。也许这会有所帮助。
推荐阅读
- java - JAVA:将框架和对话框放在前面
- javascript - 如何在不刷新整个页面的情况下使用 AJAX 刷新 div?
- angular - 如何修复这个 Angular 错误:参数表达式 expected.ts(1135)?
- kotlin - 可见性降低的 Kotlin / Native c 互操作
- javascript - 将 JSON 对象转换为 html 字符串
- php - 是否有另一种更好的方法可以使用 php 在 SQL 中按年过滤?
- bash - /bin/test 以红色打印“目录不在工作区中:/Users/myusr”。这是一个错误吗?
- flutter - 如何在 Flutter 的 Dialog 中配置 FocusNode 和 TextEditingController
- tableau-api - 如何在mac上选择数据源中的多列?在 mac 上的画面中
- python-3.x - 运行 Python 爬虫时出现“TypeError:字符串索引必须是整数”