Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 함수에서 딕셔너리(사전)를 반환하는 방법

파이썬에서는 함수가 다양한 방식으로 딕셔너리(사전)를 반환할 수 있습니다. 함수 내부에서 딕셔너리를 생성한 뒤 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() 형태로 작성했었습니다.