如果A vs如果A不为None:

发布于 2021-01-29 19:35:36

我可以用吗:

if A:

代替

if A is not None:

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

关注者
0
被浏览
49
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    该声明

    if A:
    

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

    object.__nonzero__(self)

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

    另一方面,

    if A is not None:
    

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



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看