#1 함수란?
특정 기능을 수행하기 위해 필요한 명령문들을 묶어서 이름을 붙여놓은 것
프로그램에서 함수들을 분석하는 법
- 각 함수들의 입력과 출력을 특정한다(입력 → 함수 → 출력)
- 큰 구조 내에서 데이터가 어떻게 흐르는 지 파악한다
함수가 필요한 이유
- 재사용성: 자주 사용하는 코드들을 묶어서 재사용할 수 있다. 매번 구현하기 어렵거나 번거로울 때 편리하다.
- 분할정복: 크고 복잡한 문제를 작고 단순한 문제 여러개로 쪼갤 수 있다.
#2 함수를 만드는 법
- 전체 프로그램을 어떻게 분해할 지 생각한다
- 개별 함수의 입출력을 정의한다
- 문법에 따라 구현한다
함수의 기본형식
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)