阿小信大人的头像
Life is short (You need Python) Bruce Eckel

None in Python2015-07-01 16:45

========

“is None”比 “== None”更快。

“is”是用C实现的, 简单的比较两个对象的ID,不需要调用任何方法函数, “is”是比较id,“==”是比较值。

创建一个None实例:

Python 2.7.6 (default, Sep  9 2014, 15:04:36)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.39)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x = type(None)()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: cannot create 'NoneType' instances

Python 3.4.3 (default, Mar 17 2015, 18:12:35)
[GCC 4.2.1 Compatible Apple LLVM 6.0 (clang-600.0.56)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> x = type(None)()
>>> type(x)
<class 'NoneType'>
>>> x is None
True

无论如何, id(None)总是返回相同的值. 因为None在Python中是一个单例

>>> x = type(None)()
>>> id(x)
4489363032
>>> y = type(None)()
>>> id(y)
4489363032

如果您觉得从我的分享中得到了帮助,并且希望我的博客持续发展下去,请点击支付宝捐赠,谢谢!

若非特别声明,文章均为阿小信的个人笔记,转载请注明出处。文章如有侵权内容,请联系我,我会及时删除。

#Python#  
分享到:
阅读[945] 评论[0]

你可能也感兴趣的文章推荐

本文最近访客

发表评论