콘텐츠로 이동

파이썬 객관식 심화 — 핵심 SET 01

이름: ____________ 점수: _____ / 100 난이도: ★★★★☆

각 코드의 실행 결과 또는 옳은 설명을 보기에서 하나 고르세요. (문항당 10점, 범위: 함수·클래스·모듈/패키지·딕셔너리·리스트·튜플·set 심화)


1. (함수) 다음 코드의 출력은?

def add_item(item, lst=[]):
    lst.append(item)
    return lst

print(add_item(1))
print(add_item(2))

[1] 다음 [2]
[1] 다음 [1, 2]
[1, 2] 다음 [1, 2]
[2] 다음 [1, 2]
TypeError

2. (함수) 다음 코드의 실행 결과는?

def foo():
    print(x)
    x = 5

x = 10
foo()

10
5
None
UnboundLocalError
NameError

3. (클래스) 다음 코드의 출력은?

class Counter:
    count = 0
    def __init__(self):
        Counter.count += 1

a = Counter()
b = Counter()
c = Counter()
print(Counter.count)

0
1
2
3
Error

4. (모듈/패키지) 다음 코드의 출력은?

from math import sqrt
print(math.sqrt(16))

4.0
4
NameError
ModuleNotFoundError
AttributeError

5. (딕셔너리) 다음 코드의 출력은?

d = {"x": 1, "y": 2, "x": 3}
print(d)

{'x': 1, 'y': 2}
{'x': 3, 'y': 2}
{'x': 1, 'y': 2, 'x': 3}
Error
{'y': 2}

6. (리스트) 다음 코드의 출력은?

grid = [[0] * 3] * 2
grid[0][0] = 1
print(grid)

[[1, 0, 0], [0, 0, 0]]
[[1, 0, 0], [1, 0, 0]]
[[0, 0, 0], [0, 0, 0]]
[1, 0, 0, 0, 0, 0]
Error

7. (튜플) 다음 코드의 출력은?

t = (1, [2, 3], 4)
t[1].append(5)
print(t)

(1, [2, 3], 4)
(1, [2, 3, 5], 4)
TypeError
(1, [2, 3], 4, 5)
(1, 2, 3, 5, 4)

8. (set) 다음 코드의 출력은?

a = {1, 2, 3, 4}
b = {3, 4, 5, 6}
print(a & b, a - b)

{3, 4} {1, 2}
{1, 2} {3, 4}
{3, 4} {5, 6}
{1, 2, 3, 4, 5, 6} {1, 2}
{3, 4} {3, 4}

9. (함수) 다음 코드의 출력은?

def f(a, b=[]):
    b.append(a)
    return b

print(f(1))
print(f(2, []))
print(f(3))

[1] [2] [1, 3]
[1] [2] [3]
[1] [1, 2] [1, 2, 3]
[1] [2] [1, 2, 3]
Error

10. (패키지) 다음 구조에서 main.py의 출력은?

my_project/
├── main.py
└── utils/
    ├── __init__.py
    └── math_utils.py   # def add(a, b): return a + b
# main.py
import utils.math_utils
print(math_utils.add(2, 3))

5
NameError
ModuleNotFoundError
AttributeError
ImportError