[Python] 함수(1): 개념, 함수의 형식

#1 함수란?

특정 기능을 수행하기 위해 필요한 명령문들을 묶어서 이름을 붙여놓은 것

프로그램에서 함수들을 분석하는 법

  1. 각 함수들의 입력과 출력을 특정한다(입력 → 함수 → 출력)
  2. 큰 구조 내에서 데이터가 어떻게 흐르는 지 파악한다

함수가 필요한 이유

  1. 재사용성: 자주 사용하는 코드들을 묶어서 재사용할 수 있다. 매번 구현하기 어렵거나 번거로울 때 편리하다.
  2. 분할정복: 크고 복잡한 문제를 작고 단순한 문제 여러개로 쪼갤 수 있다.

#2 함수를 만드는 법

  1. 전체 프로그램을 어떻게 분해할 지 생각한다
  2. 개별 함수의 입출력을 정의한다
  3. 문법에 따라 구현한다

함수의 기본형식

def 함수이름(매개변수1, 매개변수2, ...):
    """함수의 기능에 대해서 설명"""

    기능을 수행하거나 반환값을 계산하는 명령문들

    return 반환값 또는 반환값을 계산하는 표현
  • def: 함수를 정의할 때 필요한 키워드
  • 함수이름: snake_case로 적는다
  • 매개변수: 기능을 수행할 때 필요한 데이터를 넣는 위치를 정의한 것
  • docstring: “”” ”””로 되어 있는 문자열로 함수 설명을 기재
  • return: 함수 실행을 끝내고 함수를 호출한 곳에 값을 반환한다. 값을 생략하면 None을 반환한다.

⭐️ 함수 정의 및 실행 예제

# 함수의 정의 - 함수를 정의시 만들기만 하고 본체부분을 실행하지는 않는다
def sub_two(a, b):  # 함수 정의에서 a,b는 매개변수
    temp = a - b
    return temp

# 함수의 실행 - 함수의 헤더부터 본체까지 함수를 실행함
result = sub_two(1, 2)  # 함수 호출 시 1,2는 실매개변수, 인수라고 함
print(result)

함수는 재사용할 수 있다. 즉, 같은 함수를 인수만 바꿔가면서 여러번 사용할 수 있다.

def sub_two(a, b):  # 함수 정의에서 a,b는 매개변수
    temp = a - b
    return temp

# 함수의 실행 - 함수의 헤더부터 본체까지 함수를 실행함
result = sub_two(1, 2)  # 함수 호출 시 1,2는 실매개변수, 인수라고 함
print(result)

x = 1

result = sub_two(x + 100, 1) # 동일한 함수를 인수만 바꿔서 실행 가능
print(result)