전역변수와 지역변수란?
지역 변수(local variable) - 함수 안에서 만들어진 변수
전역 변수(global variable) - 함수 밖에서 만들어진 변수
이름에서 알 수 있듯 지역변수는 Local - 특정 영역에서만 사용할 수 있는 변수이고,
전역변수는 global - 모든 곳에서 사용할 수 있는 변수입니다.
지역변수(local)
def F(x):
a=10 #지역변수
print(a)
위에서 a는 함수 안에서만 사용되는 지역변수입니다.
F라는 함수는 print(a)를 시행하는데, 함수 안에서 선언된 a=10을 출력하는 것을 볼 수있습니다.
그러나 a는 함수 안에서만 유효하기 때문에 a를 함수에 대입하거나, a 자체를 프린트하려고 하면, 오류가 나는 것을 볼 수 있습니다.
a가 선언되지 않았다는 오류를 볼 수 있습니다.
함수의 안의 변수는 함수 안에서만 유효하다!!! 를 기억해야 합니다.
전역변수(global)
반면 함수 밖에서 선언된 변수는 전역변수입니다.
우리가 흔히 그냥 변수선언이라고 하는 것들이지요.
a = 10 #전역변수
print(a)
위에서 a는 전역변수 입니다. 따라서 프린트, 함수 대입 등도 오류 없이 이뤄지는 것을 볼 수 있습니다.
지역변수를 전역변수로 사용하는 법 (local --> global)
경우에 따라 함수 안에서 선언된 변수를 함수 밖에서도 사용하고 싶을 때가 있습니다.
이런 경우에는 "global"을 이용하여 지역변수를 전역변수로 사용할 수 있습니다.
def F(x):
global a
a = 10
print(a)
전역변수로 선언하고 싶은 변수 앞에 global만 붙여주면 됩니다!
a를 전역변수로 선언을 하니, 이제는 오류가 나지 않는 것을 볼 수 있습니다.
이 변수는 함수 바깥에서도 자유롭게 쓸 수 있게 된 것 입니다!