파이썬에서 함수는 반복적인 작업을 할 때 매우 유용합니다.
지난 글에서는 함수 만드는 방법과 매개변수(parameter)에 대해 살펴보았습니다.
이번 글에서는 함수의 리턴(return)을 살펴보겠습니다.
목차
1. 함수 리턴(return)이란?
함수에서 리턴(return)이란 무엇일까요?
출력(print)는 콘솔 창에 나타내주는 역할을 합니다.
리턴(return)은 함수를 실행시켰을 때 어떤 값을 돌려받는다는 의미를 가집니다.
파이썬에서 리턴 값은 함수가 호출될 때 생성된 출력 또는 결과입니다.
리턴 값은 숫자, 문자, 리스트, 딕셔너리, 튜플 등 모든 데이터 유형이 될 수 있습니다.
만약 리턴 문이 지정되지 않은 경우 None을 반환합니다.
그럼 리턴 사용 모습을 살펴보겠습니다.
우선 add라는 함수를 만들었고 파라미터로 a와 b를 넣었습니다.
이 함수는 a와 b를 더해주는 함수이고, 리턴 값으로는 a와 b를 더한 x값을 적었습니다.
함수를 한 번 호출해볼까요?
add(3,4) 처럼 파라미터 값에는 더해줄 a와 b값을 써주면 됩니다.
하지만 add(3,4)만 작성한다고 해서 결과값이 출력, 즉 print 되지는 않습니다.
print를 시켜주고 싶으면 print(add(3,4))라고 적어주어야 하죠.
def add(a,b):
x=a+b
return x
print(add(3,4))
print(add(5,6))
return의 예시를 한 개 더 보겠습니다.
func1(a,b)라는 함수를 만들었습니다.
x는 a와 b의 합이고, y는 a와 b의 차입니다.
이제 x/ y 값을 리턴 받겠습니다.
그리고 함수를 호출해보겠습니다.
func1(9,6) 이렇게 호출해도 아무 반응이 없습니다. 출력 명령이 함수 내에 없기 때문이죠.
print(fun1(9,6))이라고 입력했더니 출력이 됩니다. 9와6의 합인 15, 9와6의 차인 3, 그리고 리턴값인 15/3인 5.0이 출력됩니다.
이렇게 return은 함수가 호출될 때 불러오는 결과입니다.
def func1(a, b):
x = a + b
y = a - b
return x / y
func1(9,6)
print(func1(9,6))
2. 리턴(return)문 아래 다른 명령어
리턴(return)은 해당 함수를 호출했을 때 최종적으로 불러오는 결과라고 했습니다.
그럼 return 아래에 명령어를 쓰면 어떻게 될까요?
위에 있는 func1(a,b) 함수를 그대로 가져오겠습니다.
그리고 return 아래에 print(x * y)라는 명령어를 한 개 더 썼습니다.
def func1(a, b):
x = a + b
y = a - b
return x / y
print(x * y)
print(func1(9, 6))
이제 함수를 호출해볼까요?
이 함수를 호출하면 어떤 결과가 나올까요?
5.0이 나오고 그 다음 15* 3인 45가 출력될까요?
결과는 5.0만 나옵니다.
즉, return 아래에 무엇을 쓰더라도 작동이 안된다는 것이죠!
함수는 함수를 호출했을 때 return 옆에 써준 값이 최종 결과값으로 나옵니다.
그러니 return문 아래 또 다른 명령어를 쓰지 않도록 주의해주세요.
3. 문자열 2개를 합쳐서 문자열의 길이를 출력하는 함수
자, 그럼 return 문을 사용하는 방법을 보았으니
return문을 사용하는 몇 가지 예제를 살펴보겠습니다.
word_length(word1, word2) 라는 함수가 있습니다.
이 함수는 word1과 word2 문자열 두 개를 합쳐줍니다.
그리고 합쳐진 문자열의 길이를 리턴하죠.
이제 함수를 호출해보겠습니다.
word_lenth('snue', 'com') 이렇게 호출하고 이 값을 print하면 어떻게 될까요?
또한 함수를 호출한 것 자체를 변수에 넣고 변수를 print해보겠습니다. 결과는 어떻게 될까요?
#문자열 2개를 파라미터로 입력받아 문자열을 합쳐주고, 그 길이를 구하는 함수
def word_lenth(word1, word2):
word = word1 + word2
#len()은 문자열의 길이를 알려줌
return len(word)
print(word_lenth('snue', 'com'))
#함수를 호출한 것을 변수로 받음
new_word = word_lenth('snue', 'comedu')
print(new_word)
결과는 아래와 같습니다.
snuecom 이라는 문자열이 만들어지고 7이라는 숫자가 출력됩니다.
두번째로 new_word는 snuecomedu라는 문자열이 만들어지고 10이라는 숫자가 출력됩니다.
이처럼 리턴은 함수에서 늘 사용되는 명령어로
그 쓰임을 익혀두는 것이 필요합니다.
다음 글에서는 함수의 다양한 예제를 좀 더 살펴보겠습니다.
'프로그래밍 > 파이썬기초' 카테고리의 다른 글
파이썬 딕셔너리(dictionary) 사용법: 딕셔너리 만들기, 딕셔너리 데이터 추가하기, value값 출력하기 (2) | 2023.11.03 |
---|---|
파이썬 기초 - 주민등록번호 뒷자리 지우기 함수 예제 (2) | 2023.10.17 |
파이썬 함수 만드는 방법 (0) | 2023.10.12 |
파이썬 while반복문 사용법과 예제 (3) | 2023.10.11 |
파이썬 리스트(list) 데이터 추가 append() (0) | 2023.10.10 |