함수 내에서 선언된 변수는 기존에 그 변수가 존재하더라도 영향을 끼치지 않는다.
def f():
a = "B"
print(a)
a = "A"
f()
>>> B
print(a)
>>> A
위의 예시처럼 f() 함수에 변수 a가 새로 선언되었더라도 기존 변수 a에 영향을 끼치지 않는다.
하지만 함수 내에서 전역 변수의 값을 변경시키고 싶을 때가 있을 수 있다. 그럴 땐 global을 사용한다.
def f():
global a
a = "B"
a = "A"
f()
print(a)
>>> B
global a 를 통해 함수 내에서 a는 더이상 지역 변수가 아닌 전역 변수가 된다. 그렇기에 f() 함수를 통해 a를 "B"로 변경하면 전역 변수 a의 값이 변경된다.