Python 변수: 선언과 문자열 타입 관리 마스터하기
Python에서 변수란?
Python 변수는 값을 저장하는 예약된 메모리 위치입니다. 프로그램에서 변수는 컴퓨터가 처리할 데이터를 제공합니다.
Python 변수 타입
Python의 모든 값은 데이터 타입을 가집니다. 숫자, 리스트, 튜플, 문자열, 딕셔너리 등. 변수명은 a, aa, abc 같은 유효한 식별자 가능.
변수 선언과 사용
변수 a를 선언하고 값 출력하는 간단 예제:
a=100
print(a)
변수 재선언
Python은 생성된 변수를 재할당할 수 있습니다. Python 2와 3 모두에서 시연:
Python 2:
# 최초 선언
f = 0
print f
# 재할당
f = 'guru99'
print f
Python 3:
# 최초 선언
f = 0
print(f)
# 재할당
f = 'guru99'
print(f)

변수를 이용한 문자열 연결
Java와 달리 Python은 연결 시 숫자를 자동으로 문자열로 변환하지 않습니다. 문자열과 정수 연결 시도 시 TypeError 발생. 숫자를 먼저 문자열로 변환:
a='Guru'
b=99
print(a+str(b)) # 출력: Guru99

지역 변수 vs 전역 변수
변수는 지역(함수 내 한정) 또는 전역(모듈 전체 접근)일 수 있습니다. 차이점 예시:
Python 2 (global 키워드 없이):
f = 101
print f
def someFunction():
f = 'I am learning Python'
print f
someFunction()
print f
Python 3 (global 키워드 없이):
f = 101
print(f)
def someFunction():
f = 'I am learning Python'
print(f)
someFunction()
print(f)

global 키워드로 함수에서 전역 변수 수정 가능:
Python 2:
f = 101
print f
def someFunction():
global f
print f
f = 'changing global variable'
someFunction()
print f
Python 3:
f = 101
print(f)
def someFunction():
global f
print(f)
f = 'changing global variable'
someFunction()
print(f)

변수 삭제
메모리에서 변수 제거하려면 del 키워드 사용. 삭제 후 접근 시 NameError 발생:
f = 11
print(f)
del f
print(f) # NameError 발생

요약
- 변수는 데이터를 위한 명명된 저장소 위치입니다.
- 유효한 식별자로 명명 가능.
- Python은 변수를 새 값으로 재할당 허용.
- 문자열 연결 시 비문자열 타입 명시적 변환 필요.
- 지역 변수는 함수 내 한정, 전역 변수는 모듈 전체 접근.
global 키워드로 함수 내부에서 전역 변수 수정 가능.
del 키워드로 변수를 네임스페이스에서 삭제.