# 마술쇼를 보면 무언가가 사라지는 마술도 있고, 다른 것으로 변하는 마술도 있다.
안녕하세요! 일호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 |
댓글