python 中的空与none 问题

python 中的 ss is not None和 !s有啥区别?

阅读 2k
3 个回答

说一下is和==的区别,python世界中,元素有三部分组成,id,type,value
而is是比较的元素id,==是比较的元素value
那么"!"是什么意思,那就不难联想了吧

前者判断s是否不等于None
后者判断s是否不为真值

以下的内置对象会被视为False值:

  • None
  • False
  • 任何数值类型的零,例如,0、0.0、0j
  • 任何空序列,例如,”、()、[]
  • 任何空映射,例如,{}

内置对象除了以上值之外的都是真值

参考:https://www.cnblogs.com/sessh...

None和任何其他的数据类型比较永远返回False。

None有自己的数据类型NoneType。

你可以将None复制给任何变量,但是你不能创建其他NoneType对象。

>>> type(None)
<class 'NoneType'>
>>> None == 0
False
>>> None == ''
False
>>> None == None
True
>>> None == False
False


撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题