본문 바로가기
Programming/python

[Python] python 전역 변수

by 유주원 2013. 8. 9.

Python에서 전역 변수를 쓰려면 어떻게 해야 할까?

아래의 코드를 살펴보자. 과연 결과 값을 얼마일까?

flag = 0


def changeFlag() :

flag = 1


if __name__ == "__main__":

changeFlag()

print flag


changeFlag() 이후에 flag 값을 찍어보면 flag는 0 값이 나온다. 이 말인 즉 맨 위에 선언된 flag와 changeFlag()에 있는 flag 변수가 서로 다른 변수였단 것을 알 수가 있다. 또한 C 처럼 범위 밖에서 변수를 선언한다고 전역 변수가 되지 않는다는 것도 알 수 있다.

그럼 flag란 값을 전역 변수로 쓰고 싶으면 어떻게 해야 할까?

아래와 같이 고치면 된다.

flag = 0


def changeFlag() :

global flag

flag = 1


if __name__ == "__main__":

changeFlag()

print flag


flag 값을 출력해 보면 값이 1로 바뀐 것을 볼 수 있다. 

global 변수명은 해당 변수를 전역 변수의 값을 가져와서 쓰겟다는 말을 의미한다.