30.5 퀴즈 3번 질문입니다.
, 신 현섭님이 작성정답이 a, c라고 되어있는데
초깃값이 지정된 매개변수를 다른 매개변수 앞에 입력하게끔 함수를 정의하면 에러가 난다고 30.4.1 설명에 나오는데, c가 그런 경우라서 에러가 나지 않나요?
단순히 함수 호출에 대해서만 묻는 퀴즈라서 c도 답인건가요?
Re: 30.5 퀴즈 3번 질문입니다.
, 도장_ 관리자님이 작성UNIT 30.2에서 사용한 예제와 퀴즈에서 제시한 예제는 다릅니다.
def personal_info(name, age, address):
30.2의 예제는 함수 선언이 위와 같은 경우입니다.
30.5 3번 퀴즈에서 예시 c는
def personal_info(name='미공개', age=0):
personal_info 함수를 인자 2개이면서 기본값이 있는 형태로 정의한 것입니다. 함수 호출이 아니라 정의입니다.
문제는
3. 다음 중 personal_info(**{'name': '홍길동', 'age': 30})으로 호출할 수 있는 함수로 올바른 것을 모두 고르세요.
이와 같은 형태로 호출이 가능한 함수 정의가 무엇인지를 묻는 것입니다.
가상의 예시지만, 실제 코드로 작성한다면 다음과 같을 것입니다.
def personal_info(name='미공개', age=0):
print('이름: ', name)
print('나이: ', age)
personal_info(**{'name': '홍길동', 'age': 30})
실행 결과는 다음과 같습니다.
이름: 홍길동
나이: 30