Python/Python
[Python] 18. 전역변수, 지역변수
구름솜:D
2024. 9. 8. 16:01
728x90
전역변수
- 함수 밖의 전역 공간에 선언된 변수
- 프로그램 시작부터 종료까지 메모리에 상주하여 어디서든 접근이 가능한 변수
- 함수 내에서 참조 가능
- 함수 밖에서 참조하면 원래의 값으로 돌아옴
(함수 내에서의 값이 함수 밖에서는 반영되지 않음)
지역변수
- 함수 내에서 생성되어 함수 안에서만 사용 가능한 변수
- 함수 호출이 종료되면 메모리에서 제거됨으로 외부 참조 불가능
global 키워드
- 함수 내에서 전역 변수를 참조하거나 변경가능하게 하는 키워드
- 변경된 값은 함수 밖에서 참조했을 때도 반영
(함수 내에서의 값이 함수 밖에서도 반영)
a = 10 #전역변수
b = 20 #전역변수
print(a) #10
print(b) #20
def fun():
a = 100 #지역변수
global b #global키워드로 전역변수b를 참조
b = 200 #전역변수 b의 값 변경
print(a) #100
print(b) #200
fun()
print(a) #10
print(b) #200
x = 10 #전역변수
y = 20 #전역변수
def fun():
global x #global키워드로 전역변수 참조
x = 1 #전역변수에 접근하여 값을 변경
y = 2 #지역변수
print(x) #1
print(y) #2
fun()
print(x) #3
print(y) #4
#결과
1
2
1
20
1) fun() 함수 밖에서 선언된 전역변수 x를 fun() 함수 내에서 global키워드로 참조하여 전역변수 x의 값을 1로 변경, 1출력
2) fun() 함수 내에서 선언된 지역변수 y의 값, 2출력
3) fun() 함수 내에서 globla키워드로 참조되어 바뀐 값 1이 fun() 함수 밖에서도 반영, 1출력
4) fun() 함수 밖에서 선언된 전역변수 y의 값, 20출력