首页 > 解决方案 > 在 if 语句中测试 None

问题描述

if object is Noneusing和 和有什么区别if not object

因此,当我进行一些编码时,我弄乱了 QListWidget 中的信号,在选择实例中,它返回了 2 个信号,它返回了 2 个对象 - QListWidgetItem 和 None。

为了解决 None 返回,我使用了if object is None,但有人告诉我这样if not object会更好。即便如此,似乎使用两者中的任何一个if仍然可以让我达到相同的结果。

关于何时使用其中任何一种,是否有更好的情况?

标签: python

解决方案


not objectobject具有任何虚假值时为真,例如0or False

如果您先验地知道变量包含 aQListWidgetItemNone,那么None这是唯一错误的可能性,因此if not object:是编写条件的更简单方法。

你只需要在其他情况下小心这一点。考虑一个可以包含数字或的变量None。由于没有考虑数字可能是0.


推荐阅读