在if语句中测试无

时间:2019-10-16 22:25:06

标签: python

使用Clock clock = Clock.systemDefaultZone(); int samples = 1_000; LocalDateTime[] instants = new LocalDateTime[samples]; int k = 0; for (int i = 0; i < samples; i++) { instants[i] = LocalDateTime.now(clock); for (int j = 0; j < 10000; j++) { k = j % 2; } } if object is None有什么区别?

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

为了解决无返回值,我使用了if not object,但被告知if object is None会更好。即使这样,使用两个if not object中的任何一个似乎仍然可以使我达到相同的结果。

关于何时使用这两种方法,是否有更好的方案?

1 个答案:

答案 0 :(得分:2)

not object为真,如果object具有任何虚假值,例如0False

如果您先验地知道变量包含QListWidgetItemNone,则None是唯一可能出现的错误,因此if not object:是一种更简单的编写方式条件。

在其他情况下,您只需要小心即可。考虑一个可以包含数字或None的变量。由于未考虑数字可能为0的可能性,因此我看到了很多错误。