더북(TheBook)

그러면 다음과 같이 이름이 동일한 변수(result)를 사용할 때 add 함수의 결과는 어떻게 될까요?

> result = 10
> def add(param1, param2):
>     result = 100
>     print(param1 + param2 + result)
>
> add(1, 3)
104

전역 변수 result를 선언한 상태에서 add 함수 내에 이름이 동일한 지역 변수 result를 선언했습니다. 이렇게 되면 add 내부에서 result라는 변수를 사용할 때는 가까운 지역 변수를 사용하므로 실행 결과는 1 + 3 + 100이 됩니다. 변수를 사용할 때 가장 가까이 정의되어 있는 변수를 조회한다고 생각하면 조금 더 이해하기 수월할 것입니다.

▲ 그림 2-24 변수의 우선순위: 지역 변수

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.