본문 바로가기
코딩/파이썬

파이썬 함수 return

by 일호15 2021. 9. 2.
# 마술쇼를 보면 무언가가 사라지는 마술도 있고, 다른 것으로 변하는 마술도 있다.

 

 

안녕하세요! 일호15 입니다~ 오늘은 사라지는 마술과 변하는 마술을 지켜보겠습니다.

 

 

1 되돌려주다

더보기

return에는 반환하다, 되돌려주다 라는 뜻이 있다. 다음 함수를 살펴보자.

 

def f(x):
    return 2*x

f(2) = 4임을 알 수 있다. f에게 2를 줬더니, 4를 되돌려준(return) 것이다. 우리는 4라는 결괏값을 필요한 곳에 써먹을 수 있다.

 

 

2 먹튀

더보기

print("Hello World!") 를 살펴보자.

 

print는 파이썬 함수다. 함수인 print에게 "Hello World!"를 건넨 것이다. 하지만 print는 그 어떤것도 되돌려주지 않는다. 뭔가 의아할 수 있다. 화면 출력은 반환이 아닌가? 그렇다. 화면 출력은 반환이 아니다.

 

그렇다면 반환의 개념은 무엇인지 다시 살펴보자.

 

f(x) = 2x 일 때, f(2)는 4이다. 그렇다면, print(2)의 값은 무엇인가? 이 대목에서 print는 리턴값이 없음을 알 수 있다.

 

 

3 활용방법

더보기

y = f(x)

 

y라는 변수에 함수의 리턴값을 받아서 사용한다. x와 y가 독립변수와 종속변수라는 수학적 내용이 있다. 이게 무엇인지 몰라도 좋지만, x 뿐만 아니라 y도 변수임에 주목할 필요가 있다.

 

my_list = ['가위', '바위', '보']

a = my_list.pop()               # a == '보'
b = my_list.remove(my_list[0])  # b == None   # 리스트에서 '가위'는 제거됨.

이 코드를 이해했다면, pop의 리턴값이라는게 무엇인지 이해될 것이다. 중요한 점은, 무언가 써먹기 위해 리턴값을 되돌려받는다는 것이다. pop이 remove와 다른 점은, 요소를 삭제함과 동시에 그 값을 되돌려받아 어딘가에 써먹기 위함이다.

 

 

4 연금술

더보기

수학에서의 함수는 input이 있고, 그에 따른 output(return)이 있다. 이에 반해 파이썬에서의 함수는 return이 없을 수도 있었다. print 함수가 그 예시가 된다.

 

반면, input이 없는 경우도 있다. 아무것도 입력하지 않아도, 함수가 무언가를 돌려주는 것이다.

def f():
    return 10
    
a = f()    # a == 10

 

참고로, my_list.pop()은 input이 없어보이지만, my_list를 입력받아 작동하는 함수이다. 이에 관해 알아보려면, 클래스의 self 개념을 배우면 된다. 몰라도 크게 상관 없는 내용이지만, 궁금할 수 있는 내용이기에 덧붙여본다.

 

 

돌아와 피카츄..!

 

 

def f(x):    
    print(x+1)
a = f(2)          #a == None    


def g(x):
    return x+1
b = g(2)          #b == 3

 

반응형

'코딩 > 파이썬' 카테고리의 다른 글

파이썬 break, continue  (0) 2021.09.09
파이썬 메서드  (0) 2021.09.06
파이썬 input  (0) 2021.08.30
파이썬 자료형 변환  (1) 2021.08.26
파이썬 슬라이싱, 인덱싱  (0) 2021.08.23

댓글