파이썬의 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}')
출력:

파이썬 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}')
출력:

표현식이 있는 파이썬 return 문
return 문에는 표현식도 포함할 수 있습니다. 이 경우 표현식이 평가되고 결과가 반환됩니다.
def add(x, y):
return x + y
output = add(5, 4)
print(f'Output of add(5, 4) function is {output}')
출력:

파이썬 부울 반환
함수의 인수의 부울 값 반환 예제를 살펴보겠습니다. 객체의 부울 값을 얻기 위해 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")}')
출력:

파이썬 문자열 반환
인수의 문자열 표현을 반환하는 함수의 예제를 살펴보겠습니다. 객체의 문자열 표현을 얻기 위해 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)}')
출력:

파이썬 튜플 반환
가끔은 여러 변수를 튜플로 변환하고 싶을 때가 있습니다. 가변 인수에서 튜플을 반환하는 함수를 작성하는 방법을 살펴보겠습니다.
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 *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 외부 함수를 반환하는 함수
또한 반환문으로 함수를 반환할 수도 있습니다. 이 함수는 함수 외부에서 정의됩니다.
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 여러 값 반환하기
함수에서 여러 개의 값을 반환하려면 필요에 따라 튜플, 리스트 또는 사전 객체를 반환할 수 있습니다. 그러나 많은 수의 값을 반환해야 하는 경우 시퀀스를 사용하는 것은 너무 많은 자원을 소비하는 작업입니다. 이 경우에는 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)
결과:

요약
파이썬의 return 문은 함수에서 출력을 반환하는 데 사용됩니다. 또한 함수에서 다른 함수를 반환할 수도 있다는 것을 배웠습니다. 또한 표현식은 평가되고 그 결과가 함수에서 반환됩니다.
전체 파이썬 스크립트와 더 많은 파이썬 예제는 저희 GitHub 저장소에서 확인할 수 있습니다.
Source:
https://www.digitalocean.com/community/tutorials/python-return-statement