Python札记2:None
Posted xietx1995
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python札记2:None相关的知识,希望对你有一定的参考价值。
在Python中,关键字None
代表空值,也就是“什么都没有”的意思。None和数字 0、False、空字符串都不同,None是NoneType类型的单例对象,而且只有None能够是NoneType类型。使用内置函数type
可以查看标识符的类型:
>>> type(None)
<class 'NoneType'>
在Python中,None是一个单例对象,即有且仅有一个None对象:
>>> a = None
>>> b = None
>>> a is b
True
你想过为什么判断一个对象是否为None
要用is
而不是==
吗?
在Python中,表达式a == b
其实等价于a.__eq__(b)
。也就是说,==
运算符背后调用的是左边操作数对象的__eq__()
方法,而此方法是可以被重载的:
class Foo(object):
def __eq__(self, other):
return True
a = Foo()
print(a == None) # True
print(a is None) # False
所以说,使用is
才能真正判断一个变量名是否指向内存中唯一的None
对象。而等号只用于判断值是否相同,并不判断他们的对象标识符是否相同(使用内置函数id
可以获取对象的对象标识符)。
如果把None转换为布尔值,是真还是假呢:
if None:
print("None is True.")
else:
print("None is False.")
上面这段程序的结果是False
。所以None
在显式或者隐式被转换为布尔值时,其值为False
。
None
的用处:
- 表示空值,例如:
a = None
使变量a指向None
对象,表示这个变量是空的,类似C和C++中null
。 - Python中的函数如果没有返回语句,默认返回
None
,表示没有返回值,当然也可以显式地返回None
:return None
。
我的知乎:奔三的鑫鑫
欢迎关注微信公众号:小鑫的代码日常
欢迎加入Python学习交流群:532232743,这里有各路高手等着你~
以上是关于Python札记2:None的主要内容,如果未能解决你的问题,请参考以下文章
札记Python处理TSV文件以及144790个英语单词的注音释义例句的.sql和.tsv文件下载