首页 > 解决方案 > 如何处理不存在的变量“赋值前引用”

问题描述

如果满足某个条件,我有一些代码会创建一个变量:

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 个参数设置默认值?)

标签: python

解决方案


您没有分配 if self.leftis not True,请尝试以下将设置默认值的方法None

left_count = self.left.isUnivalTree() if self.left else None

根据您的问题更新,在函数上设置默认参数会更好,这正是它们的用途。


推荐阅读