小编典典

如果A vs如果A不为None:

python

我可以用吗:

if A:

代替

if A is not None:

后者似乎太冗长。有区别吗?


阅读 191

收藏
2020-12-20

共1个答案

小编典典

该声明

if A:

将调用A.__nonzero__()(请参阅特殊方法名称文档)并使用该函数的返回值。总结如下:

object.__nonzero__(self)

要求执行真值测试和内置操作bool();应该返回FalseTrue,或者它们的整数等效值01。如果未定义此方法,__len__()则调用该方法(如果已定义),并且如果其结果为非零,则将该对象视为true。如果一个类既未定义,也__len__()未定义__nonzero__(),则其所有实例均被视为true。

另一方面,

if A is not None:

将参考A与进行比较None以查看其是否相同。

2020-12-20