[Python] 전역 변수와 지역 변수란?

1. 변수의 유형

 

변수는 데이터를 저장하는 메모리 영역의 이름을 말합니다. 파이썬에서는 크게 두 가지 변수 유형이 있습니다.

 


1.1 전역 변수(Global Variables)

 

전역 변수는 프로그램 전체에서 접근할 수 있는 변수입니다. 함수 밖에서 정의되어 프로그램 전체에서 사용할 수 있습니다.

 


1.2 지역 변수(Local Variables)

 

지역 변수는 함수 내에서만 사용할 수 있는 변수입니다. 함수 외부에서는 접근할 수 없습니다.

 


1.3 차이

 

전역 변수와 지역 변수는 변수의 범위(scope)에 따라 구분됩니다. 전역 변수는 프로그램 전체에서 접근할 수 있지만, 지역 변수는 선언된 함수 내에서만 사용할 수 있습니다.

 


2. 전역 변수 사용법

 

전역 변수를 선언하려면 함수 밖에서 변수를 정의하면 됩니다.

 

x = 10  # 전역 변수

def foo():
    print(x)  # 전역 변수 사용

foo()

 

전역 변수를 함수 내에서 수정하려면 global 키워드를 사용하여 전역 변수임을 명시해야 합니다.

 

x = 10  # 전역 변수

def foo():
    global x
    x = 20  # 전역 변수 수정

foo()
print(x)  # 수정된 전역 변수 출력

 


3.지역 변수 사용법

 

지역 변수는 다른 절차 없이 함수 내에서 선언하고 수정할 수 있습니다.

 

def foo():
    y = 10  # 지역 변수
    y = 20  # 지역 변수 수정
    print(y)

foo()

 

 


4. 주의사항

 

  1. 지역 변수는 함수 내에서만 사용할 수 있으므로 함수 외부에서 접근하려면 오류가 발생합니다.

  2. 같은 이름의 전역 변수와 지역 변수가 있을 경우, 함수 내에서는 지역 변수가 우선이됩니다.

  3. 함수는 전역 변수와 지역 변수를 모두 사용할 수 있습니다. 하지만 전역 변수는 가급적 사용을 줄이고, 지역 변수를 사용하는 것이 좋습니다. 함수 내에서 전역 변수 사용은 코드의 가독성과 유지 보수성을 낮추기 때문입니다.