Python 함수 반환값 여러개 설정 방법 예제

사용자 함수 또는 메서드를 만들어 사용하는 경우 반환값을 여러개 설정하고 싶은 경우가 있습니다.

콤마를 사용해서 반환값을 여러개 설정할 수 있습니다.

파이썬에서는 반환값을 반환하는 return 에서 콤마를 사용해 반환값을 복수로 설정 가능합니다.

def test():
    return 'abc', 100

 

복수로 설정한 경우 데이터 타입을 같지 않아도 됩니다.

문자열과 숫자 타입을 같이 반환해도 됩니다.

이번에는 반환값을 받는 쪽을 살펴보겠습니다.

result = test()

print(result)
print(type(result))
# ('abc', 100)
# <class 'tuple'>

 

반환값 형태는 튜플입니다.

이번에는 반환값을 하나씩 살펴보겠습니다.

print(result[0])
print(type(result[0]))
# abc
# <class 'str'>

print(result[1])
print(type(result[1]))
# 100
# <class 'int'>

 

첫 번째 반환값은 문자열인 str 타입이고 두 번째 반환값은 숫자인 int 타입입니다.

만약 반환값이 없는 인덱스를 참조하는 경우에는 에러가 발생합니다.

print(result[2])
# IndexError: tuple index out of range

 

반환값을 저장할 변수를 하나만 지정해 튜플 형태로 값을 받을 수도 있지만, 반환값 개수만큼 변수를 지정할 수도 있습니다.

strrtn, intrtn = test()

print(strrtn)
# abc

print(intrtn)
# 100

 

샘플에서는 반환값을 2개까지만 사용해봤지만 3개 이상일 경우에도 사용방법은 같습니다.

댓글