你在上一节中发现 dict 的秘密功能了吗?你可以解释给自己吗?让我来给你解释一下,顺便和你自己的理解对比看有什么不同。这里是我们要讨论的代码:
cities['_find'] = find_city
city_found = cities['_find'](cities, state)
你要记住一个函数也可以作为一个变量,``def find_city`` 比如这一句创建了一个你可以在任何地方都能使用的变量。在这段代码里,我们首先把函数
find_city
放到叫做
cities
的字典中,并将其标记为
'_find'
。 这和我们将州和市关联起来的代码做的事情一样,只不过我们在这里放了一个函数的名称。
好了,所以一旦我们知道 find_city 是在字典中 _find 的位置,这就意味着我们可以去调用它。第二行代码可以分解成如下步骤:
- Python 看到 city_found = 于是知道了需要创建一个变量。
- 然后它读到 cities ,然后知道了它是一个字典
- 然后看到了 ['_find'] ,于是 Python 就从索引找到了字典 cities 中对应的位置,并且获取了该位置的内容。
- ['_find'] 这个位置的内容是我们的函数 find_city ,所以 Python 就知道了这里表示一个函数,于是当它碰到 ( 就开始了函数调用。
- cities, state 这两个参数将被传递到函数