PythonNone对象的特殊性

None对象的特殊性

image-20211107162200768

1 None是什么?

  1. 与C和JAVA不同,python中是没有NULL的,取而代之的是None
  2. None是一个特殊的常量,表示变量没有指向任何对象。
  3. 在Python中,None本身实际上也是对象,有自己的类型NoneType
  4. 你可以将None赋值给任何变量,但我们不能创建NoneType类型的对象
obj = None
obj2 = None
print(type(None))
print(id(None))
print(id(obj))
print(id(obj2))

执行结果:

<class 'NoneType'>
140717958924280
140717958924280
140717958924280

⚠️None不是False,None不是0,None不是空字符串。None和任何其他的数据类型比较永远返回False。

2 None和其他类型的比较

  • None和其他任何类型比较都会返回False
a = None
if a is None and a==None:
  print("a是None")       #会执行
if a==False or a==0:
  print("None不等于False")    #不会被打印

空列表、空字符串、0之间的比较

  1. if语句判断时,空列表[]、空字典{}、空元组()、0等一系列代表空和无的对象会被转换成False
a=[];b=();c={};d="";e=0;f=None
if (not a) and (not b) and (not c) and (not d) and (not e) and (not f):
  print("if判断时,空列表[]、空字符串、0、None等代表空和无的对象会被转换成False")
  1. ==is判断时,空列表、空字符串不会自动转成False
a=[];b=();c={};d="";e=0;
if (a==False or d==False):
  print("==时,空列表、空字符串不是False!")  #不会执行
if(e==False):
  print("==时,0会转成False")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

留不住的人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值