Python - 함수에서 두개 이상의 값 리턴

파이썬의 함수에서 두개 이상의 값을 리턴하는 방법을 소개합니다.

1. 함수에서 여러 값을 Tuple로 리턴

아래와 같이 comma로 구분하여 여러 값을 리턴할 수 있습니다. 두개 이상의 값을 리턴하면 Tuple로 전달됩니다. 리턴되는 객체의 타입을 확인해보면 Tuple입니다.

def myFunc():
    return "hello", 100

result = myFunc()
print(type(result))

Output:

<class 'tuple'>

1.1 Example : Unpacking

함수가 두개 이상의 값을 리턴할 때, 아래와 같이 var1, var2 = func() 형식으로, 원하는 변수에 값을 받도록 할 수 있습니다. 리턴하는 순서대로 변수에 할당됩니다.

def myFunc():
    return "hello", 100

first, second = myFunc()
print(first)
print(second)

Output:

hello
100

1.2 Example : Unpacking

3개 이상의 변수를 리턴할 때도 아래와 같이 comma로 구분하여 리턴할 수 있고, 각각의 변수로 값을 받을 수 있습니다. 그리고 모두 다른 타입의 객체를 리턴할 수도 있습니다.

def myFunc():
    return "hello", 100, ['a', 'b']

first, second, third = myFunc()

print(first)
print(second)
print(third)

Output:

hello
100
['a', 'b']

2. 함수에서 리스트로 여러 값을 리턴

아래와 같이 1개의 리스트에 여러 값을 저장하여 리턴할 수 있습니다. 1개의 리스트가 리턴되며, 리턴되는 리스트에서 Index로 변수에 접근할 수 있습니다.

def myFunc():
    return ["hello", 100]

result = myFunc()

print(result)
print(result[0])
print(result[1])

Output:

['hello', 100]
hello
100

3. 함수에서 딕셔너리로 여러 값을 리턴

1개의 딕셔너리에 여러 값을 여러 값을 저장하고 그 딕셔너리를 리턴할 수 있습니다. 딕셔너리가 리턴되면, 약속된 key로 변수에 접근할 수 있습니다.

def myFunc():
    return {"first": "hello", "second": 100}

result = myFunc()

print(result)
print(result["first"])
print(result["second"])

Output:

{'first': 'hello', 'second': 100}
hello
100
Loading script...
codechachaCopyright ©2019 codechacha