콘텐츠로 이동

핵심 SET 03 — 정답 및 해설

문항 1 2 3 4 5 6 7 8 9 10
정답

1. 정답 ② 231 키워드 인자는 순서와 무관하게 이름으로 바인딩됩니다. a=2, b=3, c=12*100 + 3*10 + 1 = 231.

2. 정답 ③ [0, 1] add_one은 리스트의 내용을 직접 변경(append)하므로 호출자의 리스트에도 반영되어 [0, 1]이 됩니다. 반면 reset은 매개변수 lst새 리스트로 재바인딩할 뿐 호출자의 data는 가리키지 않게 되므로 영향이 없습니다. 따라서 최종 data[0, 1].

3. 정답 ③ ['apple', 'banana'] items는 클래스 변수로 모든 인스턴스가 같은 리스트를 공유합니다. c1.addc2.add 모두 이 하나의 리스트에 추가하므로 c1.itemsc2.items는 동일하게 ['apple', 'banana']입니다.

4. 정답 ② NameError import math as mm이라는 이름으로만 모듈을 가져옵니다. math라는 이름은 존재하지 않으므로 math.piNameError.

5. 정답 ② "b" 딕셔너리 컴프리헨션으로 키와 값을 뒤집으면 {1: "a", 2: "b", 3: "c"}가 됩니다. swapped[2]"b".

6. 정답 ① [30] 40 remove(20)[10, 30, 40]. del a[0][30, 40]. pop()은 마지막 원소를 꺼내 반환하므로 x = 40, a = [30].

7. 정답 ② True False 튜플은 사전식(lexicographic)으로 비교합니다. (1,2,3) < (1,2,4)는 세 번째 원소 비교에서 3 < 4이므로 True. (1,3) < (1,2,100)은 두 번째 원소에서 3 > 2이므로 False(첫 비교에서 이미 결과가 결정됨).

8. 정답 ② {1, 2, 3} 다음 KeyError discard는 원소가 없어도 에러를 내지 않고 조용히 무시합니다. 반면 remove는 원소가 없으면 KeyError를 발생시킵니다.

9. 정답 ① 1 5 minmax를 튜플로 반환 → (1, 5)a, b로 언패킹하면 a=1, b=5. print(a, b)1 5.

10. 정답 ① 5 from utils import math_utilsmath_utils라는 모듈 이름 자체를 현재 네임스페이스로 가져오므로, math_utils.add(...)처럼 점(.) 표기로 바로 사용할 수 있습니다.