파이썬에서 전역변수(global variable)는 프로그램 전체에서 접근 가능한 변수입니다. 전역변수 과다 사용은 프로그램 복잡성을 높일 수 있지만, 디버깅이나 특정 상황에서는 매우 유용하게 활용될 수 있습니다.
이 포스팅에서는 전역변수의 개념부터 실제 활용 방법까지 상세히 알아봤습니다.
프로그래밍에서 변수의 스코프(scope)는 매우 중요한 개념입니다. 지역변수와 전역변수는 아래와 같이 사용 범위에 차이가 있습니다.
파이썬에서는 함수 내부에서 변수를 선언하면, 지역변수로 취급됩니다. 함수 내부에서 전역변수를 사용하거나 수정하려면 global 키워드를 활용해야 합니다.
파이썬에서 전역변수를 선언하고 사용하는 방법은 크게 두 가지가 있습니다.
전역변수는 다음과 같은 상황에서 유용하게 활용됩니다.
전역변수는 편리하지만 신중하게 사용해야 합니다. 과도한 전역변수 사용은 코드의 가독성을 떨어뜨리고 유지보수를 어렵게 만듭니다. 이에 다음 사항을 고려하세요.
아래는 전역변수와 global 키워드를 활용하는 간단한 예제입니다.
# 함수 외부에서 전역변수 선언
counter = 0
def increment():
global counter # 전역변수를 수정하기 위해 선언
counter += 1
print("현재 카운터 값:", counter)
def display():
print("최종 카운터 값:", counter)
increment() # 출력: 현재 카운터 값: 1
increment() # 출력: 현재 카운터 값: 2
display() # 출력: 최종 카운터 값: 2 이 예제는 counter 변수를 전역변수로 선언하고, 함수 내에서 global 키워드를 통해 수정하는 과정을 보여줍니다.
global 키워드를 사용하지 않아도 함수 안에서 읽기는 가능합니다. 하지만 이렇게 사용하면 디버깅이 어려워집니다. 그래서 함수 안에서 읽을 때도 global 키워드 사용을 추천합니다.
Q1: 전역변수를 사용하지 않고도 데이터를 공유할 수 있나요?
A1: 네, 클래스 변수나 함수 매개변수를 사용하여 데이터를 공유할 수 있으며, 필요에 따라 디자인 패턴(예: 싱글톤)을 적용할 수도 있습니다.
Q2: global 키워드 없이 전역변수를 수정할 수 있나요?
A2: 아닙니다. 함수 내부에서 전역변수를 수정하려면 반드시 global 키워드를 사용해야 합니다. 그렇지 않으면 새로운 지역변수가 생성됩니다.
Q3: 전역변수를 남용하면 어떤 문제가 발생할 수 있나요?
A3: 코드의 가독성이 떨어지고, 디버깅 및 유지보수가 어려워질 수 있으며, 변수 값의 예측이 어려워지는 문제가 있습니다.
설레는 마음으로 차를 몰고 세 시간을 달려갔는데, 정작 공연장에 들어가지도 못하고 돌아왔다면 어떠실까요. 배우 전혜빈과…
같은 행사, 거의 같은 블라우스. 그런데 풍겨 나오는 분위기는 완전히 달랐습니다. 포토월에서 마주친 두 배우…