韩漫免费漫画在线观看方法,《好好疼爱里面》免费看,年轻漂亮的女士护士内衣,妈妈醉酒后把我当爸爸电视剧

文章 > Python常见问题 > python中怎么判断是否为空

python中怎么判断是否为空

头像

silencement

2019-11-22 10:51:105221浏览 · 0收藏 · 0评论

其中None的特殊之处在于,它既不是数值0,也不是某个数据结构的空值,它本身就是一个空值对象。它的类型是NoneType,它遵循单例模式,也就是说,在同一命名空间下的所有None其实质上都是同一个空值对象。

>>> id(None)
1795884240
>>> None == 0
False
>>> None == ''
False
>>> a = None
>>> id(a)
1795884240
>>> a == None
True

上面的判断显然不符合我们的期望:只有当a被显示赋值为None的情况下,a==None才为True。

那么,对于Python中更为广义的None值判断,我们应该怎么做呢?

>>> a = ''    #这里仅以空字符串为例,其他空值同样适用
>>> if a:
...        print 'a is not empty'
...    else:
...        print 'a is a empty string'
'a is a empty string.'

可以看出,if a的判断方式得出了我们想要的结果,那么if a的判断方式究竟是一个怎样的过程呢?

if a会首先去调用a的__nonzero__()去判断a是否为空,并返回True/False,若一个对象没有定义__nonzero__(),就去调用它的__len__()来进行判断(这里返回值为0代表空),若某一对象没有定义以上两种方法,则if a的结果永远为True

接下来验证一下上面的说法:

>>>class A(object):
...        def __nonzero__(self):
...            print 'running on the __nonzero__'
...            return True
>>>class B(object):
...        def __len__(self):
...            print 'running on the __len__'
...            return False
>>> a, b = A(), B()
>>>if a:
...        print 'Yep'
...    else:
...        print 'Nop'
running on the __nonzero__
Yep
>>>if b:
...        print 'Yep'
...    else:
...        print 'Nop'
running on the __len__
Nop
关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

《交换做爰》在线观看| 局长边摸边吃奶边做爰| 双人床上做运动后排有伤害吗| 军官(巨肉高H)| 扌桑辶鬲的照片| 18岁的少女与狗高清电视剧| 美国A片巜豪妇荡乳》| 老阿姨高清在线观看电视剧法游戏| 男生女生拆拆很痛的轮滑鞋免费下.| 美味的小瘦子3| 健身教练压腿压进去会怎么样| 国产精品黑料吃瓜网曝事件海角 | 爸爸VICIUSSS幼儿小女孩| 强伦轩特级A片免费播放女的老师| 天堂草在线观看国产AV| JK| 满清十大酷刑| 怎么骑桌角到失禁| 麻花星空MV高清在线播放 | 禁忌3| 成人做爰100部片| 兄妹客厅当父母面爱叫啥| 欧美人动物PPT免费模板大全| 《被按摩的人妻4》| 老婆同意了别人轮流联系我| 饥渴老翁一晚要了我三次| 男人行房一般多久才算正常| 日韩| 女人高潮抖动多久能恢复正常| 王娟被老赵一夜干4次| 6969影院免费观看电视剧大全 | EXO妈妈MV高清视频播放| 桃色| | 王一扬| 妈妈がだけの心に漂う| 第-次和公翁做爰又大又粗| 韩浸免费浸画在线观看阅读| 没戴奶罩他含了一天| 倫理片《亂倫》| 亚洲精品一区