Language/PYTHON
함수 만들기(2) 가변 매개변수 / 기본 매개변수 / 키워드 매개변수
구일일구
2021. 10. 3. 17:09
반응형
가변 매개변수
print() 함수와 같이 매개변수를 원하는 만큼 받을 수 있는 함수를 가변 매개변수라고 부름.
매개변수가 변할 수 있다는 의미
def 함수 이름(매개변수, 매개변수, ..., *가변 매개변수):
문장
def 함수이름(매개변수1, 매개변수2, *가변매개변수):
print(매개변수1)
print(매개변수2)
print(가변매개변수)
함수이름(0, 1, 2, 3, 4, 5, 6, 7, 8)
</>
0
1
(2, 3, 4, 5, 6, 7, 8)
0은 매개변수1에 들어감
1은 매개변수2에 들어감
2 ~ 8까지 가변매개변수에 들어감
가변 매개변수의 제약
* 가변 매개변수 뒤에는 일반 매개변수가 올 수 없음
* 가변 매개변수는 하나만 사용할 수 있음
가변 매개변수 함수
def print_n_times(n, *values):
# n번 반복합니다
for i in range(n):
# values는 리스트처럼 활용합니다
for value in values:
print(value)
# 단순한 줄바꿈
print()
# 함수 호출
print_n_times(3, "안녕하세요", "즐거운", "파이썬 프로그래밍")
</>
안녕하세요
즐거운
파이썬 프로그래밍
안녕하세요
즐거운
파이썬 프로그래밍
안녕하세요
즐거운
파이썬 프로그래밍
기본 매개변수
'매개변수=값'의 형태
매개변수를 입력하지 않았을 경우 매개변수에 들어가는 기본값
기본 매개변수의 제약
* 기본 매개변수 뒤에는 일반 매개변수가 올 수 없음
기본 매개변수
def print_n_times(value, n=2):
for i in range(n):
print(value)
print_n_times("안녕하세요")
</>
안녕하세요
안녕하세요
print_n_times에서 매개변수 n=2라는 형태로 입력했음. n을 입력하지 않을 경우 기본값이 2로 들어감
그래서 코드를 실행하면 '안녕하세요'라는 문자열을 2번 출력하게 되는 것
키워드 매개변수
기본 매개변수가 가변 매개변수보다 앞에 올 때 ➡️ 기본 매개변수가 의미가 없어짐
가변 매개변수가 기본 매개변수보다 앞에 올 때 ➡️ 가변 매개변수가 우선됨
두 가지(가변, 기본 매개변수)를 함께 사용하기 위해 키워드 매개변수라는 기능 만듦
매개변수 이름을 지정해서 입력하는 매개변수를 키워드 매개변수라고 부름
일반매개변수 - 가변매개변수 - 기본매개변수 순으로 작성
키워드 매개변수 예제
def print_n_times(value, n=2):
for i in range(n):
print(value)
print_n_times("안녕하세요", n=4)
</>
안녕하세요
안녕하세요
안녕하세요
안녕하세요
n=2 였는데, 함수를 호출하면서 n=4로 지정했기 때문에 "안녕하세요"가 4번 출력됨
여러 함수 호출 형태
def test(a, b=10, c=100):
print(a + b + c)
# 1) 기본 형태
test(10, 20, 30)
# 2) 키워드 매개변수로 모든 매개변수를 지정한 형태
test(a=10, b=100, c=200)
# 3) 키워드 매개변수로 모든 매개변수를 마구잡이로 지정한 형태
test(c=10, a=100, b=200)
# 4) 키워드 매개변수로 일부 매개변수만 지정한 형태
test(10, c=200)
</>
60
310
310
220
반응형