▶ 함수 호출 시 키워드=값 형식으로 전달인자 값 설정
함수를 호출할 때 키워드=값 형식으로 전달인자의 값을 설정할 수 있다.
만약 함수의 정의가 아래와 같다면,
# python 3.9.5
# pycharm 2021.1.1
def scores(name, lang=90, math=90, phys=90):
print(name, lang, math, phys)
scores('student 1', phys=100)
scores(phys=95, math=95, lang=100, name='student 2')
첫번째 scores 함수 호출처럼 초기값이 설정되어 있는 phys 매개변수의 값만 키워드=값 형식으로 전달할 수 있다.
또는 두번째 scores 함수 호출처럼 초기값이 설정되어 있지 않은 첫번째 매개변수도 키워드=값 형식을 이용하여 첫번째가 아닌 다른 위치에서 전달인자의 값을 정의할 수 있다.
위 코드의 실행 결과는 다음과 값다.
함수 호출 시 오류의 예
함수 호출 시 키워드=값 형식으로 전달인자의 값을 정의할 때 오류가 발생하는 예는 아래와 같다.
1) 초기값이 설정되어 있지 않은 매개변수의 값 정의가 명확하지 않은 경우
# python 3.9.5
# pycharm 2021.1.1
def scores(name, lang=90, math=90, phys=90):
print(name, lang, math, phys)
scores(lang=99, 'student 3')
함수 호출 시 두번째 전달인자의 값 'student 3'이 매개변수 name의 값인지 알지 못한다.
2) 정의되어 있지 않은 매개변수에 대하여 키워드=값 형식을 사용하는 경우
# python 3.9.5
# pycharm 2021.1.1
def scores(name, lang=90, math=90, phys=90):
print(name, lang, math, phys)
scores('student 4', comput=105)
함수 scores에 정의되어 있지 않은 매개변수인 comput를 사용하면 오류가 발생한다.
'코딩 > 파이썬 기초' 카테고리의 다른 글
[Python] 파이썬 튜토리얼 019. 함수 매개변수에 별표 * 사용(*=애스터리스크, *args) (0) | 2021.06.11 |
---|---|
[Python] 파이썬 튜토리얼 022. 함수, 특수 매개변수 정의 - positional only, positional or keyword, keyword only (/, *) (0) | 2021.06.06 |
[Python] 파이썬 튜토리얼 017. 함수의 매개변수 값 초기화 (0) | 2021.05.30 |
[Python] 파이썬 튜토리얼 016. 함수 종료 및 값 반환 키워드 return (0) | 2021.05.30 |
[Python] 파이썬 튜토리얼 015. 함수 정의 키워드 def와 call by value의 의미 (0) | 2021.05.30 |