참고 | 매개변수는 없고 반환값만 있는 함수
함수를 만들 때 매개변수는 없지만 값만 반환하는 함수를 만들 수도 있습니다. 다음은 매개변수 없이 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 |
댓글