lesson 41
题目:
cities['_find'] = find_city
city_found = cities['_find'](cites, state)
正序解读,由前向后阅读代码
首先要记得一点就是函数也是可以当作变量来使用的。所以 def find_city 实际上也创建了一个可以随意调用的变量。
而第一行代码也很好理解,就是创建了一个名为 cities 的字典,为其中名字是 ‘_find’ 的键赋值,值为函数 find_city
第二行可以拆分为 7 步:
1.运行到 city_found = 时 python 知道需要创建一个变量了。
2. 当它读到 cities 时知道了这是一个字典。
3. 而后紧接着读到 [’_find’] 就知道了这是字典的索引,于是就通过索引找到了 cities 中的对应位置,并且读取了其中的值。
4. 而 [’_find’] 对应的值是函数 find_city ,所以 python 也就知道了这里是一个函数,于是当接下来马上遇到 ( 的时候就知道了这里要调用函数了。
5. find_city 接受两个值,由 (cities, state) 传入,并运行函数。
6. 于是从 cities 中查找是否包含 state ,如果包含就返回找到了内容,否则就返回一个什么也没找到的信息。
7. 最后 find_city 函数返回一个信息,并将这个信息赋值给最开始的变量 city_found 。
倒序解读,向后阅读代码
1.state 和 cities ……它们是什么呢?
2.是参数,传递给……
3.一个函数,位置在……
4.’_find’ 然后寻找,目的地是……
5.cities 这个位置……
6.最后赋值给 city_found