Python - 문제 미리보기
문제 2065
easy
다음 코드의 실행 결과는?
```python
def test_function():
x = 100
print(x)
test_function()
print(x) # 이 줄에서 어떤 일이 일어날까요?
```
```python
def test_function():
x = 100
print(x)
test_function()
print(x) # 이 줄에서 어떤 일이 일어날까요?
```
정답: 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 과목의 모든 문제를 순차적으로 풀어보세요. 진행상황이 자동으로 저장되어 언제든지 이어서 학습할 수 있습니다.