global을 사용하지 않고 변수를 사용할 경우 해당 변수의 scope는 함수 내로 국한된다. a = 0 def test(): # global a a = 1 test() print(a) > python .\test.py 0 반면 global을 사용할 경우 해당 변수의 scope는 전역으로 변경되어 해당 함수를 벗어나도 수정 내역이 유지된다. a = 0 def test(): global a a = 1 test() print(a) > python .\test.py 1