Python - 문제 미리보기

문제 2065

easy
다음 코드의 실행 결과는?
```python
def test_function():
x = 100
print(x)

test_function()
print(x) # 이 줄에서 어떤 일이 일어날까요?
```
A. 100, 100
B. 100, 오류 발생
C. 오류 발생, 100
D. 0, 100

정답: B



지역 스코프의 특성:

지역 변수의 생명주기:
⦁ 생성: 함수 호출 시 생성
⦁ 사용: 함수 내부에서만 접근 가능
⦁ 소멸: 함수 종료 시 자동 삭제

코드 실행 과정:

1. 함수 정의:
```python
def test_function():
x = 100 # 지역 변수 x 생성
print(x) # 지역 변수 x 출력
```
2. 함수 호출:
```python
test_function() # 함수 실행
```
⦁ 함수 내부에서 `x = 100` 실행 (지역 변수 생성)
⦁ `print(x)` 실행 → "100" 출력
⦁ 함수 종료 시 지역 변수 `x` 소멸

3. 함수 외부에서 접근 시도:
```python
print(x) # NameError 발생!
```
⦁ 지역 변수 `x`는 이미 소멸됨
⦁ 전역 스코프에 `x`라는 변수가 존재하지 않음
⦁ NameError: name 'x' is not defined 발생

💡 학습 팁

이 문제를 포함한 Python 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.