result를 사용할 때 먼저 지역 변수 result가 있는지 조회한 후 지역 변수로 존재하는 result가 없는 것이 확인되면 전역 변수를 조회합니다. 앞 예에서는 전역 변수 result가 존재하므로 코드가 문제없이 동작합니다.
▲ 그림 2-25 변수의 우선순위: 전역 변수
그러면 함수 내에서 전역 변수 사용을 강제하고 싶을 때는 어떻게 할까요? 함수에서 사용하려는 변수가 함수 내에 지역 변수로 존재하지 않는다면 전역에서 이름이 동일한 변수가 있는지 자동으로 확인하기 때문에 함수 내 코드가 길어지면 이 값이 어디서 참조되고 있는지 판단하기 어려울 수 있습니다. 이 경우 애초에 함수 내에서 전역 변수를 참조하겠다는 의미로 global이라는 키워드를 사용할 수 있습니다. global 키워드를 사용하는 방법을 알아보기 위해 예를 들어 보겠습니다.
fields = []
def func1():
fields = ["1", "2"]
func1()