-
반응형
지난 포스팅은 함수 매개변수 만드는 여러 가지 방법에 대해 알아보았습니다.
이번 포스팅은 함수의 리턴에 대해 알아봅니다.
● 함수 리턴이란?
파이썬의 내장 함수 중 len() 함수를 예를 들면 len() 은 문자열 또는 리스트의 길이 값을 반환해 줍니다.
이렇듯 험수를 호출 후 결과값으로 반환해 주는 값입니다.
이 리턴 값은 있을 수도 있고 없을 수도 있습니다.
리턴값이 없는 함수는 무슨값을 반환 값으로 돌려 줄까요?
“None” 이라는 값을 돌려 줍니다.
>>> def test( ) :
print( "Hello" )
>>> print(test())
Hello ## test 라는 함수를 실행해서 출력 됨.
None ## print( test() ) 의 test() 함수의 결과 값 출력
>>>리턴을 사용하는데 결과값을 지정 안 할 수도 있습니다.
이때는 함수를 끝낼 때 사용합니다.
만약 디버깅시에 중간에 함수를 끝내고 싶을 경우는 return 을 사용함으로써 중간에 끝낼 수도 있습니다.
>>> def test( ) :
print( "Hello" )
return ## 중간에 return 되므로 World는 출력 될 일이 없습니다.
print("World")
>>> test()
Hello
## retuen 만 하면 return 이 없는 것 처럼 None 값을 돌려 줍니다.
>>> print( test() )
Hello
None
>>>● 함수 리턴 값을 여러 개 받고 싶을 경우
아래 예제는 리턴 값이 하나 일 경우 입니다.
아래 예제에서 또 하나 발견 할 수 있는 것은 return 구문에서 수식 계산도 된다 입니다.
수식 뿐만 아니라 파이썬 실행 구문을 사용 할 수 있습니다.
함수를 호출 할 경우 결과 값을 변수로 받을 수 있습니다.
보통은 변수로 받아서 처리 합니다.
>>>
def user_sum( x, y, z ) :
return x + y + z
>>> a = user_sum( 1, 2, 3)
>>> print( a)
6
>>>
## 입력 받은 인자를 더하기, 곱하기 의 값을 리턴하는 함수 입니다.
>>> def calc( x, y, z ) :
return x + y + z, x*y*z
>>> a = calc( 2, 3, 4 )값을 2개 이상 리턴하는 함수는 결과값을 하나의 변수로 받아도 오류가 발생하지 않습니다.
단지 튜플 형식으로 반환 합니다.
>>> print(a)
(9, 24)
>>>리턴 값을 각 각의 변수로 반환 받고 싶으면 아래와 같이하면 됩니다.
콤마 구분자로 각각 받아도 되고 튜플 형식으로 받아도 됩니다.
>>> a, b = calc( 2, 3, 4 )
>>> print(a)
9
>>> print(b)
24
>>> (a, b) = calc( 2, 3, 4 )
>>> print(a)
9
>>> print(b)
24
>>>결론은 값이 여러 개 일 때는 튜플 형식으로 반환한다 입니다.
파이썬의 장점이 자료형에 따른 변수 선언이 없다는 것 입니다. 코딩하기 편하죠?
리턴값도 아래에서 선언된 자료형과 같이 동일하게 반환해 줍니다.
그냥 변수로 결과 값을 받으면 됩니다.
이래 예제는 여러가지 자료형에 대한 결과 값을 반환해 주는 예제입니다.
>>> def test():
x = "abcdef"
return x
>>> test()
'abcdef'
>>> type( test())
<class 'str’>
>>> def test() :
x = {'a' : 1, 'b' : 2 }
return x
>>> test()
{'a': 1, 'b': 2}
>>> type(test())
<class 'dict'>
>>> def test() :
x = { 1,2, 3,4,5 }
return x
>>> test()
{1, 2, 3, 4, 5}
>>> type(test())
<class 'set'>
>>>이번 포스팅까지 함수의 매개변수 및 리턴 값에 대한 내용을 알아 보았습니다.
다음 포스팅에서는 함수에서 사용하는 변수들의 범위 및 함수에 인자를 전달 시 변화는 인자에 대해 알아봅니다.
반응형'IT 이야기 공간 > 프로그램 언어' 카테고리의 다른 글
파이썬 전역(global)변수와 지역(local) 변수 (0) 2020.06.30 파이썬 함수 딕셔너리 (키워드 가변길이 ) 인자 전달 방법 (0) 2020.06.29 파이썬 함수 매개변수 만들기 – 가변 및 디폴트값 설정 (0) 2020.06.28 파이썬 사용자 정의 함수 만들기 (0) 2020.06.27 파이썬 제어문 - 반목문 while문 (0) 2020.06.26