1-6-1. 함수 만들기
함수 기본 형태
def 함수이름(): 실행 문장
# 정의 def print_3times(): print("Hello Python") print("Hello Python") print("Hello Python") # 실행 print_3times()
매개변수 만들기
def 함수이름(매개변수, 매개변수, ﹒﹒﹒)
문장
# 정의 def print_ntimes(value, n): for i in range(n): print(value) # 실행 print_ntimes("Hello Python", 10)
가변 매개변수 만들기
가변 매개변수는 변수를 원하는 만큼 받을 수 있다는 의미입니다.
즉, 리스트 처럼 변수를 받는다는 의미
가변 매개변수 함수의 구조
def 함수 이름(매개변수, 매개변수, *가변 매개변수): 문장
특징
- 가변 매개변수 뒤에는 일반 매개변수가 올 수 없습니다.
- 가변 매개변수는 하나만 사용이 가능합니다.
‘가변’ 인 만큼 여러개의 매개변수를
입력받을 수 있어 위의 특징이 생기게 됩니다.
def print_ntimes(n, *values): for i in range(n): # value를 리스트처럼 활용 for value in values: print(value) # 호출하기 print_ntimes(3, "Hello", "Python", "this is", "DeFuture")
3까지가 매개변수이고 나머지는 가변 매개변수로 입력된 형태입니다.
가변 매개변수는 리스트 처럼 활용하여 사용하면 됩니다.
기본 매개변수
print()의 자동 완성기능의 설명
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
가장 앞에 있는 value는 가변 매개변수인데
위에서 말했 듯이 가변 매개변수 뒤에는 매개변수가 올 수 없다는 특징이 있었습니다.
다른점은 value는 변수명으로 value만 있고
다른 매개변수들은 sep= / end= 으로 뒤에 = 값을 먼저 선언해버렸다는 특징이 있습니다.
이를 ‘기본 매개변수’ 라고 하며
매개변수를 입력하지 않았을 경우 매개변수에 들어가는 기본값입니다.
특징
- 기본 매개변수 뒤에는 일반 매개변수가 올 수 없습니다.
예제
def print_ntimes(value, n=3): for i in range(n): print(value) # 호출 print_ntimes("Hello Python")
가변 매개변수가 기본 매개변수보다 앞에 오도록 사용
기본 매개 변수가 가변 매개변수보다
앞에 올 때 기본 매개변수의 의미가 사라지게 됩니다.
따라서 정상적으로 코드를 실행하기 위해서는
def print_ntimes(*values, n=2): for i in range(n): print(value) print_ntimes("Hello","Python","World", 3)
키워드 매개변수
두 가지(가변 매개변수, 기본 매개변수)를 함께 사용할 수 있는 방법으로
키워드 매개변수 기능이 탄생합니다.
핑백: 1-5-4. Python 함수 활용해보기 » 코드 한입
핑백: 1-6-2. 함수호출로 계산시간을 단축해보기. » 코드 한입