함수 default value parameter

이름..?·2020년 8월 24일
0

Python

목록 보기
3/6
def say_myself(name, old, man=True): 
    print("나의 이름은 %s 입니다." % name) 
    print("나이는 %d살입니다." % old) 
    if man: 
        print("남자입니다.")
    else: 
        print("여자입니다.")

man=True 라는 defalt value를 설정할 수 있다.

say_myself("박응용", 27)

==>
나의 이름은 박응용입니다.
나이는 27살입니다.
남자입니다.

default value parameter는 non-default value parameter 앞에 정의하면 안 된다!

def say_myself(name, man=True, old): 
    print("나의 이름은 %s 입니다." % name) 
    print("나이는 %d살입니다." % old) 
    if man: 
        print("남자입니다.") 
    else: 
        print("여자입니다.")

위 코드에서
say_myself("박응용", 27)
함수를 실행하면
SyntaxError: non-default argument follows default argument 오류 발생.
파이썬 인터프리터는 27을 man 변수와 old 변수 중 어느 곳에 대입해야 할지 알 수 없게 되기 때문이다.

따라서 default value parameter는 항상 뒤쪽에 놓자.

0개의 댓글