Python

파이썬을 배워보자!{함수(2)}

25G 2021. 4. 10. 18:38

안녕하세요!! 저번에 말씀드린 것처럼 함수의 좀 더 심화되는 과정을 말씀드려보겠습니다!. 전 글에서는 소스코드를 보여드리기보단 프로그래밍에서의 함수에 대한 이해를 돕는 그런 글이었다면 오늘은 좀 본격적으로 함수의 활용과 심화과정을 보여드릴 계획입니다

 

저번에 제가 말씀드린 함수는 뭐였죠? 사용자인 개발자! 프로그래머들이 직접 어떠한 기능을 만들어서 쓰는 함수였죠?! 그래서 그런 함수를 "사용자 함수"라고 합니다

그리고 저번에 말씀드린 print와 같은 기능들도 함수라고 했었죠? 이런 프로그래밍 언어 개발자분들이 만들어 놓은 함수를 "내장 함수"라고 합니다!!

 

그런데 여러분 함수는 어떠한 기능을 저장할 수 있다고 했죠?! 근데 조금 더 깊게 생각해보면 함수 만! 사용하게 되면 제약이 많아져 버립니다. 왜냐하면 함수에 기능이 들어있지만 그 기능을 컨트롤할 수 없이 그냥 그 기능을 호출만 해야 하니까요ㅠㅠ 그럼 무언가를 수정할 때마다 함수를 찾아서 그 함수를 하나하나 수정해야 할까요??! 아니요! 그럴 순 없죠! 엄청 귀찮거든요...ㅋㅋㅋ그래서 이번엔 "매개변수"라는 것을 말씀드리겠습니다!. 매개변수는 말 그대로 매개체가 되는 변수를 뜻하는데요!! 

간단한 예시로

태어난 연도를 출력해주는 프로그램을 만들어 봤습니다!

 

위 소스코드를 보시면 calcAge라는 함수 우측 괄호에 year이라는 변수가 저장되어 있습니다! 이 괄호 안에 들어있는 것을 매개 변수라고 하는데요! 소스코드를 해석하면서 차근차근 설명해 보겠습니다

일단 위 소스코드에서 함수는 하나의 기능이기 때문에 호출하지 않으면 병풍에 불과합니다! 그렇기에 당연히 제어는 7번부터 시작하겠죠?! 전 글을 잘 읽으셨다면 이해가 되실 거라 믿습니다!

그렇게 7번 제어에 print를 출력하고 난 후에 year변수에 정수 타입의 입력을 받기 위해 input() 내장 함수를 써서 사용자가 입력을 할 수 있게끔 만들어줬습니다 그리고 10번으로 제어가 이동하면서! 함수가 호출되게 됩니다

이때!!!

calcAge옆에 year함수를 매개변수로 전달하죠? 

그럼 이 프로그램을 큰 맥락에서 보면 year이란 변수에 사용자가 자신의 태어난 연도를 입력하면 그 값이 함수로 전달(매개체)되고 함수에 있는 age변수에 사용자가 입력한 year변수의 값과 올해는 2021년이니 2021이라는 값이 연산되어 age변수에 저장되고 print로 age변수가 출력되는 메커니즘을 가지고 있습니다!

 

위 예시처럼 함수에 어떠한 값으로 핸들링을 하고 싶을 땐 매개변수를 적극적으로 활용하시면 좀 더 효율적이고 사용하기 편한 함수를 만드실 수 있을 것이라 믿습니다!

 

다음에 말씀드릴 것은 객체지향의 꽃! 클래스라는 것인데요!

이 함수의 원리나 의의를 이해하시지 못하셨다면 이 클래스는 더욱더 미궁에 빠지게 됩니다! 그렇기 때문에 함수는 꼭꼭 이해를 하셔야 한다는 점!! 강조드리며 이번 글은 마무리 짓겠습니다!

긴 글 읽어주셔서 감사합니다