전공 공부/파이썬 기초

변수의 구분

상솜공방 2023. 9. 13. 15:37

전역변수

함수 외부 선언.

함수 내부 참조 가능.

 

지역변수

함수 내부 선언.

함수 내부 참조 가능.

함수 종료시 삭제.

 

글로벌 변수

함수 내부, 외부 선언 가능.

함수 내부 참조 가능.

함수 내부 변경 가능.

 

정적 변수

클래스 내부에 선언된 변수.

a = 5 #전역 변수
b = 10 #전역 변수

def ex():
    a = 10 #지역 변수
    global b #글로벌 변수로 재정의
    b = 15
    print("함수 안에서 선언된 지역 변수 a: {}".format(a))
    print("함수 안에서 선언된 글로벌 변수 b: {}".format(b))
    
print("함수 바깥에서 선언된 전역 변수 a: {}".format(a)) #5(전역 변수)
print("함수 바깥에서 선언된 전역 변수 b: {}".format(b)) #10(전역 변수)
ex() #a = 10, b = 15(여기서의 a는 로컬 변수로 10, b는 글로벌 변수로 덮어씌워짐)
print("함수를 빠져나와 출력된 전역 변수 a: {}".format(a)) #5(전역 변수)
print("함수를 빠져나와도 값이 유지되는 글로벌 변수 b: {}".format(b)) #15(글로벌 변수)

결과:

함수 바깥에서 선언된 전역 변수 a: 5
함수 바깥에서 선언된 전역 변수 b: 10
함수 안에서 선언된 지역 변수 a: 10
함수 안에서 선언된 글로벌 변수 b: 15
함수를 빠져나와 출력된 전역 변수 a: 5
함수를 빠져나와도 값이 유지되는 글로벌 변수 b: 15