관리 메뉴

정리왕

파이썬 함수 1 (파이썬 함수의 구조) 본문

6.개발/파이썬 공부하기

파이썬 함수 1 (파이썬 함수의 구조)

정리합니다 2020. 11. 29. 15:33
반응형

파이썬 함수 1 

 

함수를 설명하기 전에 믹서를 생각해 보자. 우리는 믹서에 과일을 넣는다. 그리고 믹서를 사용해서 과일을 갈아 과일 주스를 만든다.

우리가 믹서에 넣는 과일은 '입력'이 되고 과일 주스는 '출력(결과값)'이 된다. 그렇다면 믹서는 무엇인가?

 

믹서는 과일을 입력받아 주스를 출력하는 함수와 같다.

 

우리가 배우려는 함수가 바로 믹서와 비슷하다. 입력값을 가지고 어떤 일을 수행한 다음에 그 결과물을 내어놓는 것, 이것이 바로 함수가 하는 일이다. 우리는 어려서부터 함수에 대해 공부했지만 함수에 관해 깊이 생각해 본 적은 별로 없다.

예를 들어 y = 2x + 3 도 함수이다. 하지만 이를 수학 시간에 배운 직선 그래프로만 알고 있지 x에 어떤 값을 넣을 때 어떤 변화에 의해서 y값이 나오는지 그 과정에 대해서는 별로 관심을 두지 않았을 것이다.

이제 우리는 함수에 대해 조금 더 생각해 보는 시간을 가져야 한다. 프로그래밍에서 함수는 정말 중요하기 때문이다. 자, 이제 파이썬 함수의 세계로 깊이 들어가 보자.

 

 

 

 

 

 

 

# 함수를 사용하는 이유는 무엇일까?

프로그랭밍을 하다 보면 똑같은 내용을 반복해서 작성하고 있는 자신을 발견할 때가 종종 있다. 이때가 바로 함수가 필요한 때이다. 즉 반복되는 부분이 있을 경우 '반복적으로 사용되는 가치 있는 부분'을 한 뭉치로 묶어서 '어떤 입력값을 주었을 때 어떤 결과값을 돌려준다'라는 식의 함수로 작성하는 것이 현명하다.

함수를 사용하는 또 다른 이유는 자신이 만든 프로그램을 함수화하면 프로그램 흐름을 일목요연하게 볼 수 있기 때문이다. 마치 공장에서 원재료가 여러 공정을 거쳐 하나의 상품이 되는 것처럼 프로그램에서도 입력한 값이 여러 함수를 거치면서 원하는 결과값을 내는 것을 볼 수 있다. 이렇게 되면 프로그램 흐름도 잘 파악할 수 있고 오류가 어디에서 나는지도 바로 알아차릴 수 있다. 함수를 잘 사용하고 함수를 적절하게 만들 줄 아는 사람이 능력 있는 프로그래머이다.

 

 

 

 

 

 

 

# 파이썬 함수의 구조

파이썬 함수의 구조는 오른쪽과 같다. def는 함수를 만들 때 사용하는 예약어이며, 함수 이름은 함수를 만드는 사람이 임의로 만들 수 있다. 함수 이름 뒤 괄호 안의 매개변수는 이 함수에 입력으로 전달되는 값을 받는 변수이다. 이렇게 함수를 정의한 다음 if, while, for문 등과 마찬가지로 함수에서 수행할 문장을 입력한다.

def 함수 이름(매개 변수):

   수행할 문장1

   수행할 문장2

 

 

 

간단하지만 많은 것을 설명해 주는 다음 예를 보자.

def add(a,b):
       return a + b
       

 

위 함수는 다음과 같이 풀이된다.

이 함수의 이름(함수이름)은 add이고 입력으로 2개의 값을 받으며 결과값은 2개의 입력값을 더한 값이다.

 

여기에서 return은 함수의 결과값을 돌려주는 명령어이다. 먼저 다음과 같이 add 함수를 만들자.

>>> def add(a, b):
	return a + b
 

 

이제 직접 add 함수를 사용해 보자.

>>> a = 3
>>> b = 4
>>> c = add(a, b)
>>> print(c)
7
 

변수 a에 3, b에 4를 대입한 다음 앞에서 만든 add 함수에 a와 b를 입력값으로 넣어 준다.

그리고 변수c에 add 함수의 결과값을 대입하여 print(c)로 c의 값을 확인할 수 있다.

반응형
Comments