嘿家伙,我无法理解这一点,当地图被真正引用到城市字典时,我得不到.或者最后一行,(城市,州)部分是什么?
谢谢.
cities = { 'CA': 'San Francisco', 'MI': 'Detroit', 'FL': 'Jacksonville'}
cities['NY'] = 'New York'
cities['OR'] = 'Portland'
def find_city(themap, state):
if state in themap:
return themap[state]
else:
return 'not found'
#ok pay attention!
cities['_find'] = find_city
while True:
print 'State? (ENTER to quit)'
state = raw_input('> ')
if not state: break
#this line is the most important ever! study!
city_found = cities['_find'] (cities, state)
print city_found
Run Code Online (Sandbox Code Playgroud)
cities['_find']确切地说find_city.所以cities['_find'](cities, state)是一样的find_city(cities, state).
我的第一个陈述的原因是这一行:
cities['_find'] = find_city
Run Code Online (Sandbox Code Playgroud)
这不会调用find_city,它将函数本身粘贴在字典中.Python函数只是列表和类实例之类的对象.如果不在它们后面添加括号,则可以将它们分配给变量.
| 归档时间: |
|
| 查看次数: |
1240 次 |
| 最近记录: |