[Python] python 전역 변수
2013. 8. 9. 14:50ㆍProgramming/python
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 변수명은 해당 변수를 전역 변수의 값을 가져와서 쓰겟다는 말을 의미한다.