python - 如何处理不存在的变量“赋值前引用”
问题描述
如果满足某个条件,我有一些代码会创建一个变量:
if self.left:
left_count = self.left.isUnivalTree()
几行下来我有代码:
if left_count and right_count:
total_count = right_count + left_count
这会引发以下错误:
local variable 'left_count' referenced before assignment
我该如何解决这个问题?肯定地说if left_count...
我解释了它可能不会
(通过为函数中的所有参数设置默认值来修复此错误,但我只是想知道是否有更简单的方法解决这个问题,因为我需要为 5 个参数设置默认值?)
解决方案
您没有分配 if self.left
is not True
,请尝试以下将设置默认值的方法None
:
left_count = self.left.isUnivalTree() if self.left else None
根据您的问题更新,在函数上设置默认参数会更好,这正是它们的用途。
推荐阅读
- spring-mvc - 为什么堆使用量不断增加?
- c++ - 未解析的外部符号,但功能已定义和实现
- javascript - 复选框上的多行选择和单击 MUI DataGrid 中的行时的单选
- javascript - 为什么我的 sessionStorage 给出 { 'object Object': '' }
- python - 安装 mod_wsgi 时如何修复错误消息?
- flutter - 如何从您的电子商务应用程序中共享产品
- spring-boot - java存储库将抽象类属性保存为null
- node.js - 使用 NodeJS promise 查询 MySQL 通配符
- python - 如何在不影响原始列表的情况下修改类中的列表?
- elasticsearch - Elasticsearch的复杂查询根据不同时间统计文档数