더북(TheBook)

11.7 전역 변수

앞 예제에서 known은 함수 바깥에서 생성되었으므로 특별한 프레임 main에 소속된다. main에 속한 변수들은 어떤 함수에서도 접근할 수 있으므로 전역(global) 변수라고 부른다. 지역(local) 변수와 달리 전역 변수는 함수가 종료되어도 사라지지 않으며 다음 함수 호출에도 유지된다.

플래그(flag, 상태 표시)에 전역 변수를 주로 사용한다. 즉, 어떤 조건이 참인지 표시(플래스)하는 불(boolean) 변수를 전역으로 선언한다. 예를 들어 어떤 프로그램은 verbose라는 플래그를 사용해 출력 정보의 상세 수준을 결정한다.

verbose = True

 

def example1():

if verbose:

print('Running example1')

전역 변수에 재할당을 시도하면 놀랄 것이다. 다음 예제는 함수 호출 여부를 알아내려고 작성한 것이다.

been_called = False

 

def example2():

been_called = True # 틀렸음

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