파이썬에서 여러 값 반환하기: 심플 가이드
파이썬으로 한 번에 여러 값 반환 가능. 당연히 파이썬 대부분 함수는 단일 값 반환, 보통 그 함수 작업 결과. 이 글에서 여러 값 반환도 가능함 배우고, 딕셔너리·리스트·데이터 클래스 필요 없음.
목차
튜플로 여러 값 반환
필요한 건 return 문 뒤 값들 콤마로 구분해 나열하는 것. 여러 값 반환하고 여러 변수에 한 번에 할당하는 예:
def get_user(id):
# 데이터베이스에서 사용자 조회
# ....
return name, birthdate
name, birthdate = get_user(4)
실제론 튜플 반환. return (name, birthdate) 써도 같은 효과. 두 값 이상도 이 방식으로 반환 가능? 네!
파이썬에서 튜플로 여러 값 반환할 때 가장 분명한 장점: 결과를 직접 여러 변수에 언패킹 할당 가능. 파이썬 답게 아주 깔끔하고 간결.
파이썬에서 여러 값 반환 대안 방법
튜플로 여러 값 반환은 제한된 값 개수엔 괜찮음. 직접 명확한 이름 변수들로 언패킹 되니 실제론 매우 읽기 좋고 간결한 코드 결과.
하지만 2~3개 값 넘어가면 코드 깔끔·가독성 위해 데이터 클래스 고려해야. 데이터 클래스는 본질적으로 일반 클래스에 @dataclass 어노테이션 달아 편리한 추가 기능 준 것.
데이터 클래스 옵션 아님(예: 구버전 파이썬)면 다음 고려:
- 파이썬 딕셔너리
- 파이썬 리스트
- 일반 클래스(객체)
뭐가 최선인지는 반환 데이터 종류에 달림. 데이터 리스트에 잘 맞으면 리스트. 키-값 있으면 딕셔너리. 데이터 더 복잡하면 딕셔너리 안에 리스트 여러 개 넣을 수도. 다만 어느 시점엔 (데이터) 클래스 쓰는 게 더 깔끔해짐 기억.
계속 학습
- 파이썬 튜플과 딕셔너리 모두 배우기
- 함수 입문
- 파이썬 함수 심화 트릭