프로그래밍 언어/파이썬

파이썬 21. 함수-1

닉네임못짓는사람 2020. 11. 3. 10:48
반응형

이번 글에서는 함수에 대해서 알아보도록 하겠습니다.

함수란?


먼저, 함수란 무엇일까요?

함수란 영어로 funtion이라고 하며, 어떤 특정한 작업을 수행하기 위해 만들어진 코드들의 집합입니다.

우리가 지금까지 계속 사용해왔던 print, add, del 등등도 함수입니다.

또한 함수라는 이름 외에도 '메서드'라는 이름으로도 불리니 기억해두시길 바랍니다.

 

그럼 함수는 왜 사용하는걸까요?

이는 말할 필요도 없이 프로그램을 좀 더 쉽고 편하게 설계하기 위해서입니다.

프로그래밍을 하다 보면 어떠한 일정한 작업을 여러 번 해야 하는 경우가 많으실 겁니다.

이는 적게는 10줄 내외가 될 수도 있고, 그 이상의 복잡한 내용의 코드가 될 수도 있습니다.

 

그런데 이 코드를 커다란 프로그램 안에서 여러 번 재사용해야 한다면 어떻게 할까요?

가장 먼저 떠오르는 방법은 단순히 복사+붙여 넣기 일 겁니다.

 

하지만 한 번 생각해봅시다.

몇십 줄, 몇백 줄 혹은 그 이상의 동일한 코드들을 덕지덕지 붙여놓는 방식이 얼마나 비효율적 일지를 말이죠.

일단, 코드를 재사용할 때마다 이전에 사용했던 코드가 어디에 있는지 일일이 찾아야 할 것입니다.

해당 코드의 사용 횟수가 많아질수록 이 작업만으로도 사람들은 지치지 않을까요?

또한 쓸데없이 공간을 많이 차지하기도 하겠죠.

 

반면, 함수를 사용하면 이런 불필요한 작업을 할 필요도 없이 함수명만으로 코드를 호출해서 사용할 수 있습니다.

또한 함수를 사용하면 함수명을 통해 이 코드가 어떠한 작업을 수행하는지 미리 정보를 얻을 수 있습니다.

 

그럼 이제 실제로 함수를 만드는 법에 대해서 알아봅시다.

def 함수명(매개변수1, 매개변수2):
    실행코드1
    실행코드2
    return 반환값

함수의 기본적인 구조는 위와 같습니다.

먼저, def라는 예약어를 사용해 이것을 함수로 지정한 뒤 함수명을 적고 괄호 안에 매개변수를 적어줍니다.

 

여기서 매개변수란 함수 a에서 함수 b를 실행할 때 예를 들어 여러분이 덧셈을 수행하는 함수를 만든다고 생각해봅시다.

그러면 b에서 a로 덧셈할 숫자 두 개를 보내주어야 할 것입니다.

이때 함수 b에서 a로 넘겨주는 데이터를 인수, a에서 이를 받아서 사용하는 변수를 매개 변수라 고합니다.

매개변수는 있어도 되고 없어도 됩니다.

 

그리고 내용으로는 함수의 기능을 하는 코드들이 나열됩니다.

마지막에 return을 통해 함수 a에서 구해진 어떤 값을 자신을 부른 함수, 즉 함수 b로 돌려줍니다.

함수는 이 return을 만나는 즉시 함수를 종료하고 반환 값을 돌려주게 됩니다.

 

실제 코드를 통해서 확인해보도록 합시다.

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

sum = addF(10, 20)
print(sum)

위의 코드는 addF라는 함수를 만들어 덧셈 연산을 수행합니다.

매개변수는 a와 b의 두 숫자를 받으며, 반환값은 두 숫자를 더한 값입니다.

함수를 사용하는 방법은 addF(10, 20)과 같이 함수명(인수1, 인수2)를 적어주시면 됩니다.

 

참고로 이렇게 우리가 새로 지정해서 사용하는 함수를 보통 '사용자 정의 함수'라고 합니다.

반면 파이썬이나 C언어등 프로그래밍 언어에서 미리 정의되어있는 함수들은 보통 '라이브러리 함수'라고 합니다.

 

이번 글에서는 간단히 함수란 무엇인가에 대해서 알아봤습니다.

이번 글은 이 정도로 마치도록 하겠습니다.

감사합니다.

반응형

'프로그래밍 언어 > 파이썬' 카테고리의 다른 글

파이썬 23. 파일 입출력  (0) 2020.11.10
파이썬 22. 함수-2  (0) 2020.11.04
파이썬 20. 반복문-while문  (0) 2020.11.02
파이썬 19. 반복문-for문  (0) 2020.10.29
파이썬 18. if문-2  (0) 2020.10.27