2

本の「Learn Python the hard way」ページの演習をしようとしています: 106. 例は以下のとおりです:

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

私は何を理解してcities['_find'] = find_cityいないのですか?とは_find? 特に、なぜアンダースコアなのですか? 同様に、何が何をするのかわかりcity_found = cities['_find'](cities, state)ません。同じ質問に関する同様の投稿を見たことがあります: Learn python the hard way practice 40 help

これは基本的cities['_find'] = find_cityに、関数 find_city を辞書に追加すると言っていますが、何が機能するのかまだわかりcity_found = cities['_find'](cities, state)ません(?)

誰かが上記の2行を説明してくれたら本当にありがたいです. 御時間ありがとうございます。

4

3 に答える 3