특정 작업을 수행하는 명령문의 집합
→ 특정 작업을 함수의 이름으로 대체
→ 유사한 유형의 문제를 해결할 수 있도록 고려
사용자 정의 함수
→ 내장 함수와 달리 사용자의 목적에 따라 정의된 함수
printinput, format, int 등def 함수이름(매개변수 리스트):
명령 블록
def 함수이름(매개변수 리스트):
명령 블록
return 반환값 리스트
return 명령어와 반환값을 열거return 사용 가능format 함수실수 데이터 형식화 → 형식 지정자

format(3.141592, ">10.3f")
# [----10----]
# 3.142
함수가 호출될 때, 값이 형식 매개변수에 전달
프로그램에서 변수가 참조될 수 있는 영역
전역변수: 프로그램 전체 영역에서 접근
지역변수: 선언된 함수 내부에서만 접근

함수 호출 시 매개변수가 전달되지 않을 경우 기본값이 전달되는 매개변수
def 함수이름(매개변수 리스트, 매개변수=값 리스트):
명령 블록
return 반환값 리스트
※ 일반 매개변수 앞에 위치할 수 없음
if 매개변수를 넣지 않으면?def func_plus(x=10, y=20):
return x + y
print(func_plus(30,40)) #출력값: 70
print(func_plus()) #출력값: 30
기본 매개변수를 지정하면 매개변수를 넣지 않아도 에러가 발생하지 않음
함수 호출 시 매개변수를 사용자가 원하는 개수 만큼 지정할 수 있는 매개변수
x = 10
y = 20
z = 30
print("x는", x, "y는", y, "z는", z)
def 함수이름(매개변수 리스트, *가변 매개변수):
명령 블록
return 반환값 리스트
※ 일반 매개변수 앞에 위치할 수 없음
→ 가변 매개변수는 1개만 사용 가능
→ 가면 매개변수는 리스트로 전달됨
def func_sum(*numbers):
sum = 0
for i in numbers:
sum = sum + i
return sum
print(func_sum(1,2,3,4,5,6,7,8,9,10)) #출력값: 55