문제
아래 Python 코드의 수행 결과로 옳은 것은 무엇인가?
Pythona = 10 b = 20 def fn(n): a = n fn(30) print(a)
① 10 ② 20 ③ 30 ④ 오류
정답
1번
해설
정답: 1. 함수 내부의 a는 지역 변수이므로 전역 변수 a는 10으로 유지된다.
오답 풀이
- 1번: 전역 변수 a의 값이 출력된다.
- 2번: b는 출력 대상이 아니다.
- 3번: 함수 내부 지역 변수 값은 전역 a를 바꾸지 않는다.
- 4번: 문법 오류가 발생하지 않는다.
보충 개념 Python에서 함수 내부 대입은 기본적으로 지역 변수에 대한 대입이다.