파이썬 함수
# y = 2x
안녕하세요! 일호15 입니다~ 오늘은 함수에 대해 알아보겠습니다.
학창시절, 수학시간만 되면 어김없이 우리를 괴롭히던 그 함수인데요. 파이썬에서는 함수 별 거 없으니 안심하시고 출발하겠습니다.
0 함수
'function' 이라는 영어 단어가 있다. 중국 사람들은 이 단어를 '펑슈'라고 읽었다. 그리고 우리나라는 중국어를 가져다 썼다. 그렇게 function은 펑슈가 되고, 한국에서는 함수가 되었다.
파이썬에서의 함수는 느낌이 조금 다르다. 수학에서 함수는 대체 불가능한 존재지만, 파이썬 코드는 함수같은거 없어도 된다. 함수를 쓰든 안쓰든 똑같은 기능을 구현할 수 있다.
안써도 되는 함수를 쓰는 이유는 뭘까. 파이썬에서 함수는 '도구'의 성격을 띤다. 아래에 함수의 세 가지 장점이 있다.
1 구조화
인터넷 쇼핑몰에 접속했다고 하자. 카테고리별로 상품들이 분류되어 있을 것이다. 우리는 이 체계를 이용하여 원하는 것을 빠르게 찾을 수 있다.
만약 모든 상품을 한 페이지에 가득 담아놨다면, 원하는 상품을 찾기 막막할 수 있다. 바지만 보고 싶은데 티셔츠와 신발까지 모두 봐야만 하는 것이다.
파이썬 코드 또한 마찬가지다. 장황하게 늘어진 코드를 적절히 구조화하여 가독성을 높일 수 있다. 책의 서두에, 목차를 따로 빼놓는 것과 같다. 이를 통해 글의 전반적인 흐름을 한눈에 파악할 수 있다.
2 은닉화
필자는 스마트폰을 쓴지 10년이 넘었지만, 내부 부품이 뭔지 멤버십은 어떻게 쓰는지 등은 알지 못한다. 전화 되고 카카오톡 되면 그만이라고 생각하기 때문이다.
구조화가 동전의 앞면이라면, 은닉화는 뒷면과 같다. 구조화를 통해 전체적인 구조를 확인하고 나면, 세부사항은 관심 없을 때가 있다. 세상 모든 것을 다 알아야 하는 것은 아니다.
3 재사용
함수를 한번 만들어두면, 다음에 또 쓸 수 있다. 똑같은 코드를 구구절절 반복하는 것은 코드를 쓰는 사람에게도 귀찮은 작업이고, 코드를 읽는 사람에게도 썩 유쾌한 일은 아니다.
이때 함수는 일종의 도구가 된다. 무언가가 편리해지고 나면, 더 나은것을 바라볼 여유가 생긴다. 처음 써본 3G는 신기했지만, 시간이 지난 후 3G가 답답하게 느껴졌던 것 처럼 말이다.
함수 또한 그러한 도구가 된다. 이는 라이브러리와 관련이 있다. 다른 누군가가 만들어둔 함수를 가져다 쓸 수 있는 것이다.
def f(x):
y = 2*x
return y