파이썬 return 문

파이썬의 return 문은 함수에서 값을 반환하는 데 사용됩니다. return 문은 함수 내에서만 사용할 수 있습니다. 파이썬 함수 외부에서는 사용할 수 없습니다.

return 문이 없는 파이썬 함수

파이썬의 모든 함수는 무언가를 반환합니다. 함수에 return 문이 없다면 None을 반환합니다.

def print_something(s):
    print('Printing::', s)


output = print_something('Hi')

print(f'A function without return statement returns {output}')

출력:

Python Function Without Return Statement

파이썬 Return 문 예제

함수에서 작업을 수행하고 결과를 호출자에게 반환할 수 있습니다. 이를 위해 return 문을 사용합니다.

def add(x, y):
    result = x + y
    return result


output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')

출력:

Python Return Example

표현식이 있는 파이썬 return 문

return 문에는 표현식도 포함할 수 있습니다. 이 경우 표현식이 평가되고 결과가 반환됩니다.

def add(x, y):
    return x + y


output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')

출력:

Python Return Statement With Expression

파이썬 부울 반환

함수의 인수의 부울 값 반환 예제를 살펴보겠습니다. 객체의 부울 값을 얻기 위해 bool() 함수를 사용합니다.

def bool_value(x):
    return bool(x)


print(f'Boolean value returned by bool_value(False) is {bool_value(False)}')
print(f'Boolean value returned by bool_value(True) is {bool_value(True)}')
print(f'Boolean value returned by bool_value("Python") is {bool_value("Python")}')

출력:

Python Return Boolean

파이썬 문자열 반환

인수의 문자열 표현을 반환하는 함수의 예제를 살펴보겠습니다. 객체의 문자열 표현을 얻기 위해 str() 함수를 사용할 수 있습니다.

def str_value(s):
    return str(s)


print(f'String value returned by str_value(False) is {str_value(False)}')
print(f'String value returned by str_value(True) is {str_value(True)}')
print(f'String value returned by str_value(10) is {str_value(10)}')

출력:

Python Return String

파이썬 튜플 반환

가끔은 여러 변수를 튜플로 변환하고 싶을 때가 있습니다. 가변 인수에서 튜플을 반환하는 함수를 작성하는 방법을 살펴보겠습니다.

def create_tuple(*args):
    my_list = []
    for arg in args:
        my_list.append(arg * 10)
    return tuple(my_list)


t = create_tuple(1, 2, 3)
print(f'Tuple returned by create_tuple(1,2,3) is {t}')

출력:

Python Function Return Tuple

추가 자료: Python *args와 **kwargs

Python 함수가 다른 함수를 반환하는 방법

우리는 반환문에서 함수를 반환할 수도 있습니다. 이는 커링과 유사한데, 이는 여러 인수를 가져오는 함수의 평가를 단일 인수를 가진 여러 함수의 평가로 번역하는 기술입니다.

def get_cuboid_volume(h):
    def volume(l, b):
        return l * b * h

    return volume


volume_height_10 = get_cuboid_volume(10)
cuboid_volume = volume_height_10(5, 4)
print(f'Cuboid(5, 4, 10) volume is {cuboid_volume}')

cuboid_volume = volume_height_10(2, 4)
print(f'Cuboid(2, 4, 10) volume is {cuboid_volume}')

출력:

Python Return Function

Python 외부 함수를 반환하는 함수

또한 반환문으로 함수를 반환할 수도 있습니다. 이 함수는 함수 외부에서 정의됩니다.

def outer(x):
    return x * 10


def my_func():
    return outer


output_function = my_func()
print(type(output_function))

output = output_function(5)
print(f'Output is {output}')

출력:

Python Function Return Outer Function

Python 여러 값 반환하기

함수에서 여러 개의 값을 반환하려면 필요에 따라 튜플, 리스트 또는 사전 객체를 반환할 수 있습니다. 그러나 많은 수의 값을 반환해야 하는 경우 시퀀스를 사용하는 것은 너무 많은 자원을 소비하는 작업입니다. 이 경우에는 yield를 사용하여 한 번에 여러 값을 하나씩 반환할 수 있습니다.

def multiply_by_five(*args):
    for arg in args:
        yield arg * 5


a = multiply_by_five(4, 5, 6, 8)

print(a)
# 값 표시
for i in a:
    print(i)

결과:

Python Return vs Yield

요약

파이썬의 return 문은 함수에서 출력을 반환하는 데 사용됩니다. 또한 함수에서 다른 함수를 반환할 수도 있다는 것을 배웠습니다. 또한 표현식은 평가되고 그 결과가 함수에서 반환됩니다.

전체 파이썬 스크립트와 더 많은 파이썬 예제는 저희 GitHub 저장소에서 확인할 수 있습니다.

Source:
https://www.digitalocean.com/community/tutorials/python-return-statement