파이썬에서 전역변수(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: 코드의 가독성이 떨어지고, 디버깅 및 유지보수가 어려워질 수 있으며, 변수 값의 예측이 어려워지는 문제가 있습니다.
도쿄에 또 가나요? 도쿄타워 전망대도, 시부야 스크램블 교차로도, 아사쿠사 센소지도 이미 본 분들이라면 다음 카드로…
1. 김세의, 2026년 5월 26일 구속이라는 분기점 김세의 가로세로연구소 대표가 2026년 5월 26일 서울중앙지법에서 구속됐습니다.…
2026 KLPGA 투어 개막전인 리쥬란 챔피언십 미디어데이 사진을 본 분이라면 한 가지 의문이 드셨을 겁니다.…
2026년 5월 22일 새벽, 인천국제공항 1터미널 입국장에 검은 티셔츠와 청바지 차림의 한 청년이 모습을 드러냈습니다.…