2020-03-25 19:37:41

코딩언어에서 '함수'는 정말 너무너무너무너무 중요합니다. 함수는 기본적으로 어떤 것을 입력받아서 어떤 처리를 한 후 어떤 결과물을 출력합니다.

 

"함수 = 입력 + 처리 + 출력"

 

간단하게는 두 개의 숫자를 입력받아서 덧셈을 해주는 함수가 있을 수도 있고, 좀 더 복잡하게는 환자의 진단 결과를 입력받아서 이 환자가 코로나에 걸렸는지 안걸렸는지를 판단해주는 함수도 있을 수 있습니다. 

 

함수는 크게 두 가지 종류로 나눌 수 있습니다. 하나는 남이 만들어놓은 함수, 또 다른 하나는 내가 직접 만든 함수.

 

남이 만들어놓은 함수만 잘 사용해도 우리가 원하는 기능을 대부분 구현할 수 있습니다. 중요한 기능을 해주는 함수는 이미 다 만들어져있습니다. 수많은 함수들을 만들어놓은 코딩세계의 선배들에게 고마운 마음을 가집시다. ㅎㅎ 그러나 내가 직접 함수를 만들어야하는 경우도 있습니다. 남이 만들어놓은 것이 나의 상황에 딱 맞지 않는 경우도 많기 때문이죠. 이럴 때는 직접 만들어서 사용해야 합니다. 

 

함수가 중요한 또하나의 이유는 코드를 간결하게 만들 수 있다는 점입니다. 만약 함수라는 개념이 없다면 우리는 똑같은 기능을 위해 똑같은 코드를 반복해서 사용해야합니다. 우리의 코드는 매우 길어지고 조잡해질 것입니다. 그러나 함수라는 개념이 있기 때문에 반복해서 사용되는 부분은 하나의 함수로 만든 후 필요할 때 단 한줄의 코드로 호출해주기만 하면 됩니다. 

 

이 글에서는 내가 직접 함수를 만드는(정의하는) 방법과 만든 함수를 호출해서 사용하는 방법에 대해서 다루도록 하겠습니다. 아래의 예제들을 보시면 파이썬에서 어떻게 함수를 정의하고 호출하는지에 대해서 어느정도 감이 오실 것이라고 생각합니다. 

 

1. 전달받은 두 개의 숫자를 더해주는 함수

 

 

2. 함수를 호출하면 "무슨 일이십니까 주인님"을 출력해주는 함수

 

 

3. 입력하는 모든 것을 출력해주는 함수

 

 

이런 식으로 우리는 (시간만 있다면) 1억개 이상의 함수를 만들어낼 수 있습니다. 물론 꼭 필요한 함수를 만들어야겠지만요. 예제들에서 알 수 있듯이, 파이썬 코드에서 def를 만나면 사용자 정의 함수가 있나보다 생각하면 됩니다. 또한 매개변수(parameter)가 있는 함수도 있고 없는 함수도 있습니다. 또한 반환(return)을 해주는 함수도 있고 안 해주는 함수도 있습니다. 필요에 따라 어떻게 정의하느냐에 따라 다른 것이죠. 

 

 

bskyvision의 추천글

헷갈리는 코딩용어, 매개변수(parameter)와 인수(argument)  

[python] 함수(function)와 메서드(method)의 차이, 간단 설명