본문 바로가기

Python/Python Programming

Part03 Chapter.01 파이썬 프로그래밍-09. 함수(이론)

함수(Function) : 한 가지의 기능을 하는 코드 묶음. Input을 받아서 처리하고 Output을 돌려주는 코드.

Source : https://ko.wikipedia.org/wiki/함수#/media/파일:Function_machine2.svg

  • 함수(function)는 기능(function)을 의미합니다.
  • 함수의 input을 parameter(또는 argument)라고 합니다.
  • 함수는 input을 받아서 주어진 기능대로 처리한 뒤, output을 return합니다.
  • 정의한 함수를 사용하는 것을 function call이라고 합니다.
# function definition syntax example
def function1(a, b):
    something = ...
    <statement>
    <statement>
	...
    return something
    
result = function1(3, 5)
  • def <function_name> (<parameter1>, <parameter2>, ... )의 형태로 함수 prototype을 정합니다.
  • 함수를 호출하면 정의한 code block내의 코드를 실행합니다
  • 함수의 input인 parameter에 어떤 값이 들어오고, 어떤 결과를 return할지 잘 정해야합니다.
    (parameterization)
  • 함수를 사용하면 코드를 구조화하기 쉽습니다!
  • 코드의 구조화가 잘되어 있으면, 가독성도 높고 유지/보수를 하기가 편합니다.
  • 기존 코드를 설계할 때부터 함수로 작성하는 경우도 있고, 우선 기능을 하는 코드를 만든 다음에 재구조화를 하는 경우도 있습니다.
  • 이러한 작업을 Refactoring 이라고 합니다.
  • 구조화된 코드는 코드의 재사용성(Reusability) 가 향상됩니다.  코드의 생산성 향상!

Key Points

  1. 함수를 정의해서 사용할 때도, : 사용이 중요합니다.
  2. 함수를 사용하는 이유는 코드의 재사용성을 높이기 위해서 사용합니다.
  3. 함수들의 구조를 잘 짜면 유지보수하기 쉬운 좋은 코드를 만들 수 있습니다.