저는 파이썬 초보자이며 방금 사전과 함수와 관련된 기술을 배웠습니다. 구문은 쉽고 사소한 것처럼 보이지만 파이썬 감각은 따끔 거립니다. 무언가가 이것이 깊고 매우 비열한 개념이며 나에게 그 중요성을 파악하고 있지 않습니다. 누군가이 기술에 이름을 붙이고 그것이 어떻게 / 유용한지를 설명 할 수 있습니까?
이 기술은 파이썬 사전과 사용할 기능이있을 때입니다. dict에 추가 요소를 삽입합니다.이 요소의 값은 함수 이름입니다. 함수를 호출 할 준비가되면 이름 별 함수가 아니라 dict 요소를 참조하여 간접적으로 호출을 발행합니다 .
내가 일하고있는 예는 Learn Python the Hard Way, 2nd Ed의 것입니다. (이것은 Udemy.com 을 통해 가입 할 때 사용 가능한 버전입니다 . 슬프게도 라이브 무료 HTML 버전 은 현재 Ed 3이며 더 이상이 예제를 포함하지 않습니다).
말을 바꾸려면 :
# make a dictionary of US states and major cities
cities = {'San Diego':'CA', 'New York':'NY', 'Detroit':'MI'}
# define a function to use on such a dictionary
def find_city (map, city):
# does something, returns some value
if city in map:
return map[city]
else:
return "Not found"
# then add a final dict element that refers to the function
cities['_found'] = find_city
다음 식은 동일합니다. 함수를 직접 호출하거나 값이 함수 인 dict 요소를 참조하여 함수를 호출 할 수 있습니다.
>>> find_city (cities, 'New York')
NY
>>> cities['_found'](cities, 'New York')
NY
누군가 이것이 이것이 어떤 언어 기능인지, 그리고 "실제"프로그래밍에서 어디에서 작동하는지 설명 할 수 있습니까? 이 장난감 연습은 나에게 구문을 가르쳐주기에 충분했지만 저를 끝까지 데려 가지 않았습니다.