无法理解有关Python字典/hash的一段代码


我正在用Learn Python The Hard Way(笨方法学Python)入门Python,这也是我学习编程的第一个语言。今天遇到一个问题,查了很久的谷歌还是无法解决。
链接在这里: http://learnpythonthehardway.org/book/ex39.html
在这个练习里,"Making Your Own Dictionary Module"部分,我无法理解这句是如何工作的:
return hash(key) % len(aMap)
我google了很久,没有找到Python有内置函数 hash();代码的其他地方也没有定义这样一个函数,所以这句话到底是如何工作的呢?

python 笨方法学python dict learn-python-the-hard-way hash

800℃008 9 years, 6 months ago

关于python字典这块,楼主可以看看代码之美,第十八章的内容:第18章 Python的字典类:如何打造全能战士

KSTTT answered 9 years, 6 months ago

hash方法是Python的内置方法,在Python里面有个模块在Python命令行启动的时候会自动加载起来,叫做 __builtins__ ,使用命令dir( __builtins__ ),就可以看到hash方法已经被加载了。

skukd answered 9 years, 6 months ago

cjnono answered 9 years, 6 months ago

hash 应该是一个内置函数吧,我的python 版本是 2.7.6


 >>> hash
<built-in function hash>

hash 的作用是返回一个整数。一个整数除以数字的长度取余数,这个结果肯定是介于 0 至 数组的长度之间,也就说确定key对应的值存放在数组的那个index下。

杯具的RP君 answered 9 years, 6 months ago

Your Answer