그러면 다음과 같이 이름이 동일한 변수(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 변수의 우선순위: 지역 변수