■ 변수 ( Variable)
VBA 프로그램을 만들들때 변수를 정의(이름, 타입, 값 지정 하기) 하였습니다 파이썬으로 어떻게 정의 할까요?
1. 변수 이름 정의 규칙 (Naming Conventions)
변수 이름은 데이터를 저장하는 상자의 이름과 같습니다. 대소문자를 구분하며 영문자, 숫자, 밑줄(_)을 사용할 수 있습니다. 대소문자를 철저하게 구분합니다(my_var와 My_Var는 완전히 다른 변수). 공식 가이드(PEP 8)에 따라 소문자와 밑줄을 조합하는 스네이크 케이스(my_variable)를 주로 사용합니다.
2. 변수 타입(자료형) 지정 방법 : 동적 타이핑 (Dynamic Typing)
파이썬은 변수를 미리 선언할 필요가 없습니다. 값을 할당하는 순간 파이썬 인터프리터가 알아서 데이터 타입을 판단(추론)합니다.
# 파이썬 예시 (별도의 선언 키워드 없음)
age = 25 # int (정수형)으로 자동 지정
name = "홍길동" # str (문자열형)으로 자동 지정
is_adult = True # bool (불리언형)으로 자동 지정
참고: 파이썬 3.5부터는 필요에 따라 타입 힌트(age: int = 25)를 사용할 수도 있지만, 필수는 아닙니다.
3. 값 지정 방법 (할당, Assignment)
파이썬은 여러 변수에 동시에 값을 지정하거나, 두 변수의 값을 교환(Swap)하는 작업을 한 줄로 끝낼 수 있습니다.
# 1. 여러 변수에 동시 할당
x, y = 10, 20
# 2. 변수 값 서로 바꾸기 (Temp 변수 불필요)
x, y = y, x # x는 20, y는 10이 됩니다.
예시 : 2개의 정수 값을 입력 받아, 덧셈하여 출력 하는 프로그램 만들기 "calculator.py" 파일 이름 저장
# 1. 사용자에게 입력받기 (input()은 기본적으로 문자열로 받으므로 int()로 정수형 변환)
num1 = int(input("첫 번째 정수를 입력하세요: "))
num2 = int(input("두 번째 정수를 입력하세요: "))
# 2. 두 값을 더하기
result = num1 + num2
# 3. 결과 출력하기
print(f"두 정수의 합은 {result}입니다.")
💡 코드 핵심 포인트
- input(): 사용자로부터 키보드 입력을 받는 함수입니다.
- int(): input()으로 입력받은 데이터는 문자열(str) 형태이기 때문에, 덧셈 연산을 위해 int()를 사용하여 정수(Integer)로 변환해 주어야 합니다.
- print(f"..."): 문자열 안에 변수(result)의 값을 아주 간단하고 직관적으로 쏙 집어넣어 출력할 수 있는 파이썬의 편리한 기능입니다.
프로그램 실행 방법 : 터마널 화면에서 아래와 같이 실행 합니다
python calculator.py
■ 전역 변수(Global Variable)
함수 바깥(최상위 레벨)에 선언되어 프로그램 전체에서 접근할 수 있는 변수를 말하며, VBA의 모듈 수준 변수(Public 또는 선언된 변수)와 비슷한 개념입니다.
1. 전역 변수란? (기본 개념)
함수 안팎에서 모두 사용할 수 있는 변수입니다.
# 전역 변수 선언
company_name = "테크컴퍼니"
def print_company():
# 함수 내부에서도 전역 변수를 읽을 수 있습니다.
print(f"회사 이름: {company_name}")
print_company() # 함수를 실행 하면, "회사 이름: 테크컴퍼니" 화면에 출력
print(company_name) # 함수 밖에서도 정상 출력
2. 주의할 점과 활용 방법 (global 키워드)
파이썬에서는 함수 내부에서 전역 변수의 값을 변경(수정)하려고 할 때 주의가 필요합니다. 함수 안에서 그냥 대입 연산(=)을 쓰면 전역 변수가 아니라 새로운 지역 변수(Local Variable)가 만들어지기 때문입니다.
전역 변수의 값을 함수 안에서 직접 수정하고 싶다면 global 키워드를 사용해야 합니다.
🔹 예시: global 키워드 활용
# 전역 변수
total_score = 0
def add_score(score):
# 전역 변수 total_score를 이 함수 안에서 수정하겠다고 선언
global total_score
total_score += score
print(f"현재 점수: {total_score}")
add_score(10) # 출력: 현재 점수: 10
add_score(20) # 출력: 현재 점수: 30
print(f"최종 전역 점수: {total_score}") # 출력: 최종 전역 점수: 30
1. total_score: 프로그램 전체에서 접근할 수 있는 total_score라는 이름의 전역 변수를 만들고, 초기값으로 0을 저장합니다.
2. global total_score: 이 부분이 이 코드의 핵심입니다.
- 파이썬은 함수 안에서 변수에 값을 대입(=, += 등)하면, 기본적으로 그 함수 안에서만 쓰이는 지역 변수(Local Variable)를 새로 만들려고 합니다.
- 하지만 global 키워드를 쓰면 "이 함수 안에서 쓰는 total_score는 새로 만드는 게 아니라, 바깥에 있는 진짜 전역 변수야!"라고 지정해 주는 것입니다. 이 선언이 있어야만 바깥의 전역 변수 값을 안전하게 수정할 수 있습니다.
3. total_score += score: 전역 변수 0에 전달받은 score를 더해서 값을 누적합니다.
4. score에 10을 넣고 함수를 실행합니다. 전역 변수 total_score는 0 + 10이 되어 10이 되고, "현재 점수: 10"이 출력됩니다.
5. 함수 바깥(전역 공간)에서 total_score를 출력해 보면, 함수 내부에서 누적되어 변경된 최종 값 30이 그대로 유지되어 출력되는 것을 확인할 수 있습니다.

3. 실무에서의 활용 팁 (개발자 관점)
- 상수(Constants) 관리: 프로그램 전체에서 변하지 않고 공통으로 쓰이는 설정값(예: 최대 연결 횟수, 기본 경로 등)을 전역 변수(보통 대문자로 작성)로 선언해 두고 참조용으로 활용하기 좋습니다.
- 주의점: 전역 변수를 너무 많이 사용하면, 프로그램이 커졌을 때 어떤 함수가 변수 값을 바꿨는지 추적하기 어려워(사이드 펙트 발생) 디버깅이 힘들어집니다. 따라서 값 변경이 필요한 경우, 가급적 함수의 매개변수와 리턴값(return)을 활용하는 것이 좋은 개발 습관입니다.
'업무 자동화 > python' 카테고리의 다른 글
| 파이썬 학습] 리스트 사용법 배우기 (0) | 2026.08.01 |
|---|---|
| 파이썬 학습] 반복문 사용 방법 (0) | 2026.07.30 |
| 도면 PDF에서 문자 정보 가져오기 (0) | 2026.06.20 |
| PDF를 DXF로 변환 하기 (0) | 2026.06.19 |
| 이미지 관리 프로그램 # 2 (0) | 2026.06.14 |