return은 함수의 결괏값을 반환할 때 사용하는 명령어이다.
함수의 결괏값은 언제나 하나이다.
예제를 통해 return의 특징을 알아보자!
먼저, 함수를 만들어보자!
def add_and_mul(a,b):
return a+b, a*b
함수를 호출해보자!
result = add_and_mul(3,4)
위에서 함수의 결괏값은 '언제나 하나'라고 했다.
a+b와 a*b는 결괏값을 2개 가지는 것이 아닌, 튜플값 1개에 (a+b, a*b)로 돌려준다.
따라서 result = (7, 12)가 된다.
만약 튜플(7, 12)를 2개의 결괏값처럼 받고 싶다면, 아래처럼 함수를 호출하면 된다.
result1, result2 = add_and_mul(3,4)
이렇게하면
result1 = 7이 되고, result2 = 12가 된다.
return문을 2번 사용해서 2개의 결괏값을 돌려주면 되지 않을까? 라고 생각할 수 있지만,
이렇게 하면 안되는 이유를 예제를 통해서 보여주겠다.
아래 코드처럼 함수를 작성하고 호출해보자.
def add_and_mul(a,b):
return a+b
return a*b
result = add_and_mul(3,4)
print(result)
7이 출력될 것이다.
위에서 return문을 2번 사용했지만, 함수의 결괏값은 오로지 하나이기 때문에 결괏값은 오직 a+b 뿐이다.
즉, 아래 코드는 위 코드와 완전히 동일하다.
def add_and_mul(a,b):
return a+b
result = add_and_mul(3,4)
print(result)
return의 또 다른 쓰임새
특별한 상황일 때 함수를 빠져나가고 싶다면 return을 단독으로 써서 함수를 즉시 빠져나갈 수 있다.
아래 함수는 '별명'을 입력으로 전달받아 출력하는 함수이다. '바보'가 입력되면 함수를 즉시 빠져나간다.
이 함수는 반환값(결괏값)이 없다.
def say_nick(nick):
if nick == '바보':
return
print("나의 별명은 %s 입니다" % nick)
아래 코드로 함수를 호출해서 결과를 확인해볼 수 있다.
say_nick('hyeppy')
say_nick('바보')
끝~><
'Python' 카테고리의 다른 글
함수 안에서 함수 밖의 변수를 변경하는 방법(return, global) (0) | 2022.06.25 |
---|---|
매개변수 초깃값 설정 (SyntaxError: non-default argument follows default argument) 오류 메세지 이유 (0) | 2022.06.25 |
Python 매개변수 *args, **kwargs 사용해보기 (0) | 2022.06.22 |
Python 입력값과 결괏값에 따른 함수 총정리 (0) | 2022.06.22 |
6. 모듈과 패키지_절대 경로와 상대 경로의 Import (0) | 2022.06.07 |