学习python艰辛的方式练习40帮助

发布于 2021-01-29 16:16:55

大家好,我在理解这一点时遇到了麻烦,当地图实际引用城市指令时,我不明白。还是最后一行,(城市,州)部分是什么?

谢谢。

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
关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    cities['_find']完全是find_city。因此cities['_find'](cities, state)与相同find_city(cities, state)

    我的第一句话的原因是这一行:

    cities['_find'] = find_city
    

    那不会调用find_city,它将函数本身粘贴在字典中。Python函数只是列表和类实例之类的对象。如果您不在括号后面加上括号,则可以将它们分配给变量。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看