Python - 문제 미리보기

문제 1850

medium
다음 코드의 실행 결과는?
```python
x = "awesome"

def myfunc():
x = "fantastic"
print("Python is " + x)

myfunc()
print("Python is " + x)
```
A. "Python is fantastic" 한 번만 출력
B. "Python is awesome" 두 번 출력
C. "Python is fantastic", "Python is awesome" 순서로 출력
D. 오류 발생

정답: C



⦁ 지역 변수와 전역 변수의 독립성:
```python
x = "awesome" # 전역 변수

def myfunc():
x = "fantastic" # 지역 변수 (전역 변수와 별개)
print("Python is " + x) # 지역 변수 사용

myfunc() # "Python is fantastic" 출력
print("Python is " + x) # 전역 변수 사용 → "Python is awesome"
```
⦁ 실행 과정 상세 분석:

1단계: 전역 변수 생성
```python
x = "awesome" # 전역 스코프에 x 생성
```
2단계: 함수 호출 및 지역 변수 생성
```python
def myfunc():
x = "fantastic" # 지역 스코프에 새로운 x 생성
print("Python is " + x) # 지역 x 사용 → "fantastic"
```
3단계: 함수 종료 후 전역 변수 사용
```python
print("Python is " + x) # 전역 x 사용 → "awesome"
```
⦁ 변수 스코프 시각화:
```txt
전역 스코프: x = "awesome"

함수 호출 시점

지역 스코프: x = "fantastic" (전역 x와 별개)

함수 종료 후

전역 스코프: x = "awesome" (변경되지 않음)
```

💡 학습 팁

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