2. Python 기초

2.4. 함수

2.4.1. 함수의 개념

  • 함수(function)
    • 특정한 기능을 수행하도록 미리 만들어 놓고, 필요할 때마다 호출하여 사용하는 일련의 코드
    • Python에서 기본적으로 제공하는 내장 함수와 사용자가 직접 만들어서 사용할 수 있는 사용자 정의 함수가 있음


  • 함수 장점
    • 필요할 때마다 호출 가능 : 반복적으로 수행해야 하는 업무를 한 번만 작성해 놓고 필요할 때마다 호출하여 사용할 수 있음
    • 논리적인 단위로 분할 가능 : (예) 도형 계산 프로그램 - 덧셈 코드, 곱셈 코드, 나눗셈 코드 등으로 나눔
    • 코드의 캡슐화 가능 : 함수의 인터페이스만 잘 정의하면 다른 사람이 자신의 코드를 쉽게 가져다 사용할 수 있음
# 절대값 반환 함수
abs(-10)
10


2.4.2. 함수 정의

def 함수 이름(매개변수1, 매개변수2, …):
  문장
  return 반환값


  • 함수 이름 규칙
    • 변수 이름 규칙과 동일함
    • 일반적으로 소문자로 입력
    • 작업을 나타내기 위해 동사와 명사를 함께 사용하는 경우가 많음 - (예) find_number
    • 외부에 공개하는 함수일 경우 줄임말을 사용하지 않고 짧고 명료한 이름으로 정함


  • 매개변수(parameter)
    • 함수에서 입력값으로 사용하는 변수로, 1개 이상의 값을 적을 수 있음


  • 함수 형태
구분 매개변수 없음 매개변수 있음
반환값 없음 함수 내부 명령문만 수행 매개변수를 사용하여 명령문만 수행
반환값 있음 매개변수 없이 명령문을 수행한 후 결과값 반환 매개변수를 사용하여 명령문을 수행한 후 결과값 반환
# 매개변수 ×, 반환값 ×
def func():
    print('함수입니다.')

print('함수 호출 전입니다')
func()
print('함수 호출 후입니다')
함수 호출 전입니다
함수입니다.
함수 호출 후입니다
# 매개변수 ○, 반환값 ×
def add1(x, y):
    print(x+y)

res1 = add1(10,20)
print(res1)
30
None
# 매개변수 ○, 반환값 ○
def add2(x, y):
    return x+y

res2 = add2(10,20)
print(res2)
30
## 섭씨온도를 화씨온도로 변환하는 함수
# (섭씨온도) = (화씨온도 - 32) × 5/9
def f_to_c(fahrenheit):
    return (fahrenheit-32) * 5/9

f_to_c(100)
37.77777777777778