카테고리 없음

[파이썬] 전역변수와 지역변수, 의미와 사용법

공삼이 2022. 11. 8. 01:01

전역변수와 지역변수란?

지역 변수(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를 전역변수로 선언을 하니, 이제는 오류가 나지 않는 것을 볼 수 있습니다.

이 변수는 함수 바깥에서도 자유롭게 쓸 수 있게 된 것 입니다!