본문 바로가기

코딩/파이썬 기초

[Python] 파이썬 튜토리얼 018. 함수 호출 시 키워드=값 형식으로 전달인자 값 설정

▶ 함수 호출 시 키워드=값 형식으로 전달인자 값 설정

함수 호출 시 키워드=값 형식으로 전달인자 값 설정

 

함수를 호출할 때 키워드=값 형식으로 전달인자의 값을 설정할 수 있다.

 

만약 함수의 정의가 아래와 같다면,

 

# 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의 값인지 알지 못한다.

 

잘못된 함수 호출에 의한 실행 오류 1

 

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를 사용하면 오류가 발생한다.

 

잘못된 함수 호출에 의한 실행 오류 2