Note 전달값 작성 순서
함수를 정의할 때 일반 전달값과 기본값이 있는 전달값을 함께 사용하는 경우에는 반드시 일반 전달값을 먼저 적어야 합니다.
# 마트에서 2가지 상품을 구매하는 경우
def buy(item1, item2="음료수"): # 올바른 함수 정의: 일반 전달값을 먼저 작성
print(item1, item2)
buy("빵") # item1=빵, item2=음료수
실행결과 |
빵 음료수 |
그러지 않고 기본값이 있는 전달값을 먼저 적고 나서 일반 전달값을 적으면 다음과 같이 오류가 발생합니다.
# 마트에서 2가지 상품을 구매하는 경우
def buy(item1="음료수", item2): # 잘못된 함수 정의: 기본값이 있는 전달값을 먼저 작성
print(item1, item2)
buy("빵") # item1=빵? item2=빵?
실행결과 |
SyntaxError: non-default argument follows default argument |