정보처리기사 실기PythonPython - 가변 기본 인자 함정난이도 1SHORT_ANSWER

정보처리기사 실기 Python - 가변 기본 인자 함정 기출문제 #2827

문제

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

Python
def add_item(item, items=[]): items.append(item) return items result1 = add_item('apple') result2 = add_item('banana') print(result1) print(result2)

정답

['apple', 'banana'] ['apple', 'banana']

['apple', 'banana']['apple','banana']["apple", "banana"]["apple","banana"]

해설

가변 기본 인자 함정이다. 기본값 items=[]는 함수 정의 시 한 번만 생성되어 모든 호출에서 공유된다. 첫 번째 호출에서 ['apple']이 되고, 두 번째 호출에서 같은 리스트에 'banana'가 추가되어 ['apple', 'banana']가 된다. result1과 result2는 같은 리스트 객체를 참조한다.

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

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