본문 바로가기
Study (Data Science)/Python

Unit 29. 함수의 return

by 콜라찡 2022. 11. 29.

 

 

참고 | 매개변수는 없고 반환값만 있는 함수

함수를 만들 때 매개변수는 없지만 값만 반환하는 함수를 만들 수도 있습니다. 다음은 매개변수 없이 1만 반환합니다.

>>> def one():
...     return 1
...
>>> x = one()
>>> x
1

참고 | return으로 함수 중간에서 빠져나오기

return은 값을 반환하는 기능뿐만 아니라 함수 중간에서 바로 빠져나오는 기능도 있습니다. 다음은 매개변수 a가 10이면 함수를 그냥 빠져나옵니다.

>>> def not_ten(a):
...     if a == 10:
...         return
...     print(a, '입니다.', sep='')
...
>>> not_ten(5)
5입니다.
>>> not_ten(10)
>>> 

not_ten 함수에 5를 넣으면 print '5입니다.'를 출력하지만, 10을 넣으면 return으로 함수 중간에서 바로 빠져나오므로 그 아래에 있는 print는 실행하지 않습니다. 따라서 아무것도 출력되지 않습니다.

이처럼 return은 함수 중간에서 빠져나올 때 자주 사용합니다. 보통은 if와 조합해서 특정 조건일 때 함수 중간에서 빠져나옵니다.

 

return은 여러개의 값을 반환 가능 (return값은 튜플형태)

return [1,2] 이렇게 아예 list 형식으로 값을 반환받을 수도 있음.

 

>>> def add_sub(a, b):
		return a + b, a - b
>>> x = add_sub(10, 20)
>>> x
(30, -10)

 

 

>>> def add_sub(a, b):
		return a + b, a - b
>>> x, y = add_sub(10, 20)
>>> x
30
>>> y
-10
------
만약에 return값은 합, 차, 두개인데 변수 하나에 받으면 어떻게 될까. 
x = add_sub(10, 20)
x
(30,-10)   # 튜플의 형태로 두개의 값을 하나의 튜플로 묶어 가져욤.
728x90

'Study (Data Science) > Python' 카테고리의 다른 글

막강한 클래스 (Class)  (0) 2022.11.30
Unit 31. 재귀호출 (recursive call)  (0) 2022.11.29
참고) zip( ) 함수  (0) 2022.11.29
Unit30. *args / **kwargs (가변인자; Variadic Parameters)  (0) 2022.11.29
참고) map + lambda  (0) 2022.11.29

댓글