정보처리기사 실기PythonPython - 클래스와 매직 메서드난이도 5SHORT_ANSWER

정보처리기사 실기 Python - 클래스와 매직 메서드 기출문제 #171

문제

다음 Python 코드의 실행 결과를 쓰시오.

Python
def func(x, y=[]): y.append(x) return y print(func(1)) print(func(2)) print(func(3, [])) print(func(4))

정답

[1] [1, 2] [3] [1, 2, 4]

[1][1, 2][3][1, 2, 4]

해설

Python에서 가변 기본 인자는 함수 정의 시 단 한 번만 생성된다. func(1) → 기본 리스트에 1 추가 → [1]. func(2) → 같은 리스트에 2 추가 → [1, 2]. func(3, []) → 새 리스트 전달 → [3] (기본 리스트에 영향 없음). func(4) → 다시 기본 리스트에 4 추가 → [1, 2, 4]. 이는 Python의 대표적인 함정(mutable default argument)이다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[정보처리기사 실기] Python - 클래스와 매직 메서드 Python 기출 #171 | sqldpass