본문 바로가기

개발/Python & Flask

Python 전역변수 다루기

파이번이 뭐낙 개떡같이 개발하더라도 콩떡같이 알아서 하는 언어라

간과하는 부분이 많이 생길수 있는데,

 

전역변수 관련된 부분에서 깨달음을 얻어 몇자 남겨본다.

 

돌발질문!
아래 코드의 출력결과는?

a=1

def changeA():
	print(a)
	a = 3
	print(a)

changeA()
print(a)

 

 

정답 공개:

더보기

changeA() 함수의 첫번째 줄에서,

a is referenced before assignment, 선언되기 전에 불렸다고 에러가 난다.

 

다른 언어들은 알아서 전역변수를 먼저 참조하기도 하는데,

파이썬은 이런 부분은 딱 짚어줘야 정상작동한다.

 

global a 라는 한줄을 꼭 추가해줘야 한다.

 

a=1

def changeA():
	global a
	print(a)
	a = 3
	print(a)

changeA()
print(a)

저렇게 되면,

1

3

3

이 나온담.

 

기본이 탄탄한 개발자가 되잣!

반응형