[프로그래밍 기초]에 관심이 있으신가요?
무제한으로 수강해 보세요!
코드잇 시작하기
2018 프로그래밍 시작하기>추상화>추상화 꿀팁
Optional Parameter에 대해서
김재우김재우ROCK
2018년 4월 12일 작성
김재우김재우ROCK
def myself(name, age, nationality = "한국"):
    print("내 이름은 %s" % name)
    print("나이는 %d살" % age)
    print("국적은 %s" % nationality)

myself("코드잇", 1)            # 기본값이 설정된 파라미터를 바꾸지 않을 때
myself("코드잇", 1, "미국")     # 기본값이 설정된 파라미터를 바꾸었을 때

에서 맨 위에 미리 설정해둔 "한국"이 맨 마지막 nationality 에 대한 파라미터를 미리 설정해둔 거라고 저는 이해를 했는데 맞다고볼 수 있는 건가요? 만약에 맞다면 맨 마지막 파라미터 하나만 설정해둘 수 있는 건가요? 아니면 미리 파라미터의 기본값들을 여러개 설정해둘 수도 있나요?

그렇죠 ㅎㅎ 맞습니다.

optional parameter는 함수를 호출 할 때 해당 파라미터의 값이 바뀌어있으면 바뀐 값이 전달되는 것이고, 그렇지 않으면 처음에 정해둔 default 값이 전달되는 것입니다.

맨 만지막 파라미터 하나만 정할 수 있는 것은 아니고, 끝에서부터 여러개를 정할 수 있습니다.

def myself(name, age, nationality = "한국", season = "여름", sports = "축구"):
    print("내 이름은 %s" % name)
    print("나이는 %d살" % age)
    print("국적은 %s" % nationality)
    print("좋아하는 계절은 %s" % season)
    print("좋아하는 스포츠는 %s" % sports)

myself("코드잇", 1)            # 기본값이 설정된 파라미터를 바꾸지 않을 때
print("----------------")
myself("코드잇", 1, "미국")     # 기본값이 설정된 파라미터를 바꾸었을 때
print("----------------")
myself("코드잇", 1, "미국", "겨울")     # 기본값이 설정된 파라미터를 바꾸었을 때
내 이름은 코드잇
나이는 1살
국적은 한국
좋아하는 계절은 여름
좋아하는 스포츠는 축구
----------------
내 이름은 코드잇
나이는 1살
국적은 미국
좋아하는 계절은 여름
좋아하는 스포츠는 축구
----------------
내 이름은 코드잇
나이는 1살
국적은 미국
좋아하는 계절은 겨울
좋아하는 스포츠는 축구
관련 질문
2018 프로그래밍 시작하기>추상화>추상화 꿀팁
2018년 5월 14일 작성
김다은김다은
답변 176 조회
2018 프로그래밍 시작하기>추상화>추상화 꿀팁
2018년 10월 26일 작성
arisearise
답변 126 조회
2018 프로그래밍 시작하기>추상화>추상화 꿀팁
2017년 11월 4일 작성
김기훈김기훈
답변 114 조회