在我的机器上,hash(None)返回一个值:
>>> hash(None)
-2138947203
Run Code Online (Sandbox Code Playgroud)
出于好奇,这个哈希值是如何计算的?似乎这个值不是基于None's,id因为如果我重新启动Python解释器它是相同的.
Pet*_*rin 12
它是基于无的id,但没有一个是被定义为C全局变量的几个Python对象之一,所以它的地址(通常)不会改变的Python运行之间.其他这样的对象是True和False(但是这些对象是整数),或者像object和的内置类tuple.
但是,不同的CPython构建之间的地址(和哈希)是不同的.在我的系统上,hash(None)给出539708.
| 归档时间: |
|
| 查看次数: |
1550 次 |
| 最近记录: |