더북(TheBook)

1.20 전역 변수와 지역 변수

파이썬 변수 역시 다른 프로그래밍 언어처럼 전역 변수와 지역 변수를 제공한다. 일부 프로그래머는 전역 변수의 사용을 피하라고 하지만, 필자는 필요하다면 언제든지 사용해도 좋다고 생각한다.

전역 변수란 무엇인가? 전역 변수는 함수 호출 시 값이 유지되며, 모든 함수에서 접근할 수 있는 변수다. 그렇기 때문에 한 함수에서 전역 변수 my_global_var을 변경하면 다른 함수의 my_global_var도 변경된다.

변수 x가 함수 정의문 안에서 언급되면 해당 함수 안에만 존재하는 지역 변수가 된다. 이외의 변수는 모두 전역 변수다.

지역 변수의 유효 범위는 전역과는 반대로 함수 정의문 밖에서 동일한 이름을 사용한다고 해도 서로 영향을 미치지 않는다. 이 경우 변수는 내부 전용(private)이다. 하지만 전역 변수는 어느 곳에서나 접근할 수 있다.

예를 들어 다음 코드는 count 변수 2개를 생성한다. 각각 전역 변수와 지역 변수다. 기본적으로 함수는 함수 안에서 선언한 지역 변수를 사용한다.

count = 10          # 전역 변수 선언
def funcA():
    count = 20      # 지역 변수 선언
    print(count)    # 지역 변수 20 출력

def funcB():
    print(count)    # 전역 변수 10 출력
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.