파이썬에서는 함수가 다양한 방식으로 딕셔너리(사전)를 반환할 수 있습니다. 함수 내부에서 딕셔너리를 생성한 뒤 return 문으로 반환하면 되는데, 이때 반환되는 값은 일반적인 객체와 동일하게 변수에 저장하거나 바로 사용할 수 있습니다.
기본 예제
아래 예제는 함수 안에서 딕셔너리를 만들고 키-값 쌍을 추가한 후 반환하는 가장 기본적인 방법입니다.
# 딕셔너리를 반환하는 함수
def foo():
d = dict()
d['str'] = "Tutorialspoint"
d['x'] = 50
return d
print(foo())실행 결과
{'str': 'Tutorialspoint', 'x': 50}위 코드에서 foo() 함수는 빈 딕셔너리 d를 생성하고, 문자열 키 'str'과 정수형 키 'x'에 각각 값을 할당한 뒤 이를 그대로 반환합니다.
딕셔너리 리터럴을 직접 반환하기
굳이 빈 딕셔너리를 만든 후 값을 하나씩 추가하지 않고, 딕셔너리 리터럴을 사용해 더 간결하게 작성할 수도 있습니다.
def foo():
return {'str': 'Tutorialspoint', 'x': 50}
result = foo()
print(result)
print(result['x'])실행 결과
{'str': 'Tutorialspoint', 'x': 50}
50매개변수를 활용해 동적으로 생성하기
함수의 매개변수를 활용하면 호출 시 전달된 값으로 딕셔너리를 동적으로 구성해 반환할 수도 있습니다.
def make_person(name, age):
return {'name': name, 'age': age}
person = make_person('홍길동', 30)
print(person)실행 결과
{'name': '홍길동', 'age': 30}정리
파이썬 함수는 return 문 뒤에 딕셔너리만 넣어주면 언제든 딕셔너리를 반환할 수 있습니다. 빈 딕셔너리를 만들어 값을 채우는 방식, 딕셔너리 리터럴을 바로 반환하는 방식, 매개변수로 구성하는 방식 등 상황에 맞게 선택하면 됩니다. 참고로 위 예제의 print(foo())는 파이썬 3 기준 문법이며, 구버전인 파이썬 2에서는 print foo() 형태로 작성했었습니다.