发布时间:2022-09-28 09:37:14 人气:126 作者:多测师
Python中的None是一个经常被用到的知识点,但是很多人对于None的内涵把握的还是不够精确,今天就和我一起好好理解下这个小知识点吧。
1.None表示空,但它不等于空字符串、空列表,也不等同于False,通过下面的代码进行验证。
a = ''
b = False
c = []
print(a==None) #比较值
print(b==None)
print(c==None)
print(a is None)
False
False
False
False
2.在写代码的过程中,会对某些代码进行判空操作。比如有一个变量a,那么if not a和if a is None两者有区别吗?如果说没有区别,那么不管a为何值时,这两个判断语句会返回相同的结果,但事实是这样吗?一起看下面这段代码,体会一下对None的判空操作
def fun():
return None
a =fun()
if not a: #逻辑运算
print('S')
else:
print('F')
if a is None:
print('S')
else:
print('F')
S
S
运行代码发现,结果是一样的,这是由于我们调用函数时,会返回None,那么此时两个判断语句返回的结果是一样的,但是如果我们将a的值换成一个空列表,会出现什么结果呢?
def fun():
return None
a = []
if not a: #逻辑运算
print('S')
else:
print('F')
if a is None:
print('S')
else:
print('F')
S
F
运行结果,发现会打印不一样的值。那么这是为什么呢?对于not a它的意思相当于True,所以会打印出S,而a is None是比较运算,它们不属于同一种类型,因此会出现不一样的打印值。
以上内容为大家介绍了python培训之如何理解Python中的None,希望对大家有所帮助,如果想要了解更多Python相关知识,请关注多测师。https://www.e70w.com/xwzx/