전역변수는 함수 밖에서 선언된 변수로, 프로그램 내의 모든 함수에서 접근할 수 있다. 전역변수는 스크립트가 실행되는 동안 유지된다.
player = '전국대표'
def FuncSoccer():
name = '홍길동'
player = '지역대표'
print(name, player) # 홍길동 지역대표
print('player=>', player) # 전국대표
FuncSoccer()
print('player=>', player) # 전국대표
위 코드에서 player는 전역변수로, FuncSoccer 함수 내부에서도 접근할 수 있다. 그러나 함수 내부에서 같은 이름의 변수를 선언하면, 이는 지역변수로 간주된다.
지역변수는 함수 내에서 선언된 변수로, 그 함수 안에서만 접근할 수 있다. 함수가 호출될 때 생성되고, 함수가 종료되면 소멸된다.
def FuncSoccer():
name = '홍길동'
player = '지역대표'
print(name, player) # 홍길동 지역대표
FuncSoccer()
# print(name) # 오류 발생: name은 함수 내에서만 유효한 지역변수
위 코드에서 name과 player는 FuncSoccer 함수의 지역변수로, 함수 밖에서는 접근할 수 없다.
함수 내에서 전역변수를 사용하려면 global 키워드를 사용해야 한다. global 키워드는 해당 변수가 전역변수임을 명시하며, 함수 내에서 전역변수의 값을 변경할 수 있게 한다.
g = 1 # 전역변수
def Func():
global g
a = g
g = 2
return a
print(Func()) # 1
print('g=>', g) # 2