
파이썬 변수: 기초부터 고급까지 종합 가이드
1. 서론
프로그래밍 언어에서 변수를 이해하는 것은 매우 중요합니다. 변수는 데이터를 저장하고 조작하는 데 사용되며, 모든 프로그램의 기본적인 구성 요소 중 하나입니다. 이 글에서는 파이썬에서 변수를 어떻게 정의하고 사용하는지에 대해 기초부터 고급 개념까지 자세히 알아보겠습니다.
2. 변수의 정의와 선언
변수는 데이터를 저장하는 공간입니다. 파이썬에서는 변수를 선언할 때 별도의 키워드를 사용하지 않고, 단순히 변수명과 값을 할당하는 방식으로 선언합니다. 예를 들어:
x = 10
name = "Alice"
여기서 x는 정수형 변수이며, name은 문자열형 변수입니다. 파이썬은 변수의 타입을 명시적으로 지정하지 않아도 자동으로 타입을 추론합니다.
3. 변수의 타입
파이썬에서 변수는 다양한 데이터 타입을 가질 수 있습니다. 주요 데이터 타입은 다음과 같습니다:
3.1. 정수형 (Integer)
정수형은 소수점이 없는 숫자를 저장합니다.
age = 25
3.2. 실수형 (Float)
실수형은 소수점이 있는 숫자를 저장합니다.
price = 19.99
3.3. 문자열형 (String)
문자열형은 문자들의 집합을 저장합니다. 문자열은 작은따옴표(')나 큰따옴표(")로 감쌉니다.
greeting = "Hello, world!"
3.4. 불린형 (Boolean)
불린형은 True 또는 False 값을 가집니다.
is_active = True
3.5. 리스트 (List)
리스트는 여러 값을 하나의 변수에 저장할 수 있는 자료형입니다.
fruits = ["apple", "banana", "cherry"]
3.6. 튜플 (Tuple)
튜플은 리스트와 비슷하지만, 한 번 선언되면 값을 변경할 수 없습니다.
coordinates = (10.0, 20.0)
3.7. 딕셔너리 (Dictionary)
딕셔너리는 키-값 쌍을 저장하는 자료형입니다.
person = {"name": "Alice", "age": 25}
4. 변수의 네이밍 규칙
파이썬에서 변수명을 지을 때에는 몇 가지 규칙을 따라야 합니다:
- 변수명은 문자, 숫자, 밑줄(_)로 구성될 수 있습니다.
- 변수명은 숫자로 시작할 수 없습니다.
- 대소문자를 구분합니다.
- 예약어(키워드)는 변수명으로 사용할 수 없습니다.
다음은 유효한 변수명과 유효하지 않은 변수명의 예입니다:
valid_variable = 10
ValidVariable = 20
_valid_variable = 30
validVariable123 = 40
# 123invalid = 50 # 유효하지 않음
# def = 60 # 유효하지 않음 (예약어)
5. 변수의 범위와 생명주기
변수의 범위(Scope)는 변수가 유효한 코드 영역을 의미하며, 생명주기(Lifecycle)는 변수가 메모리에 존재하는 기간을 의미합니다. 파이썬에서 변수의 범위는 주로 다음과 같이 나뉩니다:
5.1. 전역 변수 (Global Variable)
전역 변수는 함수 밖에서 선언되며, 코드 전체에서 접근 가능합니다.
x = 10 # 전역 변수
def foo():
print(x) # 전역 변수 사용
foo()
5.2. 지역 변수 (Local Variable)
지역 변수는 함수 내에서 선언되며, 해당 함수 내에서만 접근 가능합니다.
def foo():
y = 20 # 지역 변수
print(y)
foo()
# print(y) # 오류 발생: y는 지역 변수이므로 함수 외부에서는 접근 불가
6. 변수의 타입 변환
파이썬에서는 변수의 타입을 변환할 수 있는 다양한 방법을 제공합니다. 주요 타입 변환 함수는 다음과 같습니다:
- int(): 정수형으로 변환
- float(): 실수형으로 변환
- str(): 문자열형으로 변환
- list(): 리스트로 변환
- tuple(): 튜플로 변환
- dict(): 딕셔너리로 변환
예를 들어:
x = "123"
y = int(x) # 문자열을 정수로 변환
print(y) # 출력: 123
7. 변수와 메모리 관리
파이썬에서 변수는 객체에 대한 참조(reference)를 저장합니다. 변수에 값을 할당하면 실제 데이터는 메모리에 저장되고, 변수는 그 데이터에 대한 참조를 가집니다.
a = [1, 2, 3]
b = a # b는 a와 같은 리스트를 참조
b.append(4)
print(a) # 출력: [1, 2, 3, 4]
이 예제에서 b는 a와 동일한 리스트를 참조하므로, b에 변화를 주면 a에도 영향을 미칩니다.
7.1. 변수 복사
변수를 복사할 때는 얕은 복사(shallow copy)와 깊은 복사(deep copy)를 사용할 수 있습니다.
- 얕은 복사: 객체의 참조를 복사
- 깊은 복사: 객체 자체를 복사
import copy
a = [1, 2, 3]
b = a.copy() # 얕은 복사
c = copy.deepcopy(a) # 깊은 복사
b.append(4)
c.append(5)
print(a) # 출력: [1, 2, 3]
print(b) # 출력: [1, 2, 3, 4]
print(c) # 출력: [1, 2, 3, 5]
8. 변수의 활용 예제
다양한 변수 활용 예제를 통해 개념을 좀 더 명확히 이해할 수 있습니다.
8.1. 간단한 계산기
변수를 사용하여 간단한 계산기를 만들어 보겠습니다.
num1 = float(input("첫 번째 숫자를 입력하세요: "))
num2 = float(input("두 번째 숫자를 입력하세요: "))
sum = num1 + num2
diff = num1 - num2
prod = num1 * num2
quot = num1 / num2
print(f"더하기: {sum}")
print(f"빼기: {diff}")
print(f"곱하기: {prod}")
print(f"나누기: {quot}")
8.2. 학생 성적 관리 프로그램
학생의 성적을 관리하는 간단한 프로그램을 작성해 보겠습니다.
students = {}
def add_student(name, score):
students[name] = score
def get_student(name):
return students.get(name, "학생이 존재하지 않습니다.")
add_student("Alice", 85)
add_student("Bob", 90)
print(get_student("Alice")) # 출력: 85
print(get_student("Charlie")) # 출력: 학생이 존재하지 않습니다.
9. 고급 변수 기법
9.1. 리스트 컴프리헨션
리스트 컴프리헨션은 리스트를 간결하고 효율적으로 생성하는 방법입니다.
squares = [x**2 for x in range(10)]
print(squares) # 출력: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
9.2. 람다 함수와 변수
람다 함수는 간단한 함수를 한 줄로 작성할 수 있게 해줍니다.
add = lambda x, y: x + y
print(add(5, 3)) # 출력: 8
9.3. 글로벌 키워드
global 키워드는 함수 내부에서 전역 변수를 수정할 때 사용됩니다.
x = 10
def modify_global():
global x
x = 20
modify_global()
print(x) # 출력: 20
10. 결론
변수는 파이썬 프로그래밍의 기본적인 구성 요소입니다. 변수를 이해하고 효과적으로 사용하는 것은 프로그램의 가독성과 효율성을 높이는 데 중요합니다. 이번 글에서는 변수의 정의와 선언, 타입, 네이밍 규칙, 범위와 생명주기, 타입 변환, 메모리 관리, 활용 예제, 고급 기법까지 다양한 주제를 다루었습니다.
'컴퓨터IT > 파이썬' 카테고리의 다른 글
| 파이썬으로 로또 번호 생성기 만들기 (진짜 쉽습니다) (0) | 2025.05.16 |
|---|---|
| 트위터 X API를 통해 글 작성하는 방법: OAuth 인증과 Python 예제 (3) | 2024.07.13 |
| Python으로 웹에서 PHP 파일 실행하기 (0) | 2024.07.13 |
| ChatGPT API 사용 방법 및 요금 정보: 단계별 가이드 (0) | 2024.06.27 |