특정 용도의 코드를 한 곳에 모아 놓은 것
# 기본 형태
def 함수이름():
코드
# 함수에 값을 넣어 작동하도록 작성하기
def 함수이름(매개변수1, 매개변수2):
코드
# 빈 함수
def hello():
pass
코드의 용도 구분
코드 재사용
실수를 줄임
함수의 :(콜론) 바로 다음 줄에 """ """(큰따옴표 세 개)로 문자열을 입력하면 함수에 대한 설명을 넣을 수 있음
def 함수이름(매개변수):
"""독스트링"""
코드
def 함수이름(매개변수):
"""
여러 줄로 된
독스트링
"""
코드
값을 함수 바깥으로 반환.
반환값은 변수에 저장하지 않고 바로 다른 함수에 넣을 수 있음.
def 함수이름(매개변수):
return 반환값
def 함수이름(매개변수):
return 반환값1, 반환값2
프레임
: 메모리에서 함수와 함수에 속한 변수가 저장되는 독립적인 공간
전역 프레임(global frame)
: 파이썬 스크립트 전체에서 접근 가능
스택(stack)
방식
스택 프레임
이라 함
함수에 인수를 순서대로 넣는 방식
# 위치 인수(리스트 언패킹)
>>> print(10, 20, 30)
10 20 30
# 위치 인수 사용 함수 생성
>>> def print_numbers(a, b, c):
... print(a)
... print(b)
... print(c)
# 언패킹 사용
>>> x = [값1, 값2, 값3]
>>> print_numbers(*x)
값1
값2
값3
>>> print_numbers(*[값1, 값2, 값3])
값1
값2
값3
인수의 개수가 정해지지 않음
# 기본 형태
def 함수이름(*매개변수):
코드
인수에 이름(키워드)을 붙이는 기능.
함수(키워드=값) 형식으로 사용.
딕셔너리 앞에
**(애스터리스크 두 개)
를 붙여서 함수에 넣어줌
def 함수이름(**매개변수):
코드
매개변수=값 형식으로 지정.
주로 사용하는 값이 있으면서 가끔 다른 값을 사용해야 할 때 활용.
def 함수이름(매개변수=값):
코드
남재윤, 『파이썬 코딩 도장』, 길벗