今天看啥  ›  专栏  ›  Python入门与进阶

wtfPython—Python中一些奇妙的代码

Python入门与进阶  · 公众号  ·  · 2018-06-20 11:38

文章预览

原文:http://yaoyaoblog.xyz/2017/09/04/wtfPython%E2%80%94Python%E4%B8%AD%E4%B8%80%E4%BA%9B%E5%A5%87%E5%A6%99%E7%9A%84%E4%BB%A3%E7%A0%81/ wtfPython是github上的一个项目,作者收集了一些奇妙的Python代码片段,这些代码的输出结果会和我们想象中的不太一样; 通过探寻产生这种结果的内部原因,可以让我们对Python里的一些细节有更广泛的认知。 1.字典键的隐式转换 some_dict = {} some_dict[ 5.5 ] = "Ruby" some_dict[ 5.0 ] = "JavaScript" some_dict[ 5 ] = "Python" 输出如下: >>> some_dict { 5.0 : "Python" , 5.5 : "Ruby" } >>> some_dict[ 5.5 ] "Ruby" >>> some_dict[ 5.0 ] "Python" >>> some_dict[ 5 ] "Python" 原因: Python的字典键的比较是通过哈希值来比较的 在Python里如果两个不可变对象的值相等,那他们的哈希也是一样的 因此此处hash(5) == hash(5.0)是Tru ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览