파이썬의 기본 자료형은 크게 숫자형(int, float), 시퀀스형(str, list, tuple), 매핑형(dict), 집합형(set), 불린형(bool), 그리고 None 타입으로 구분됩니다. 이 중 리스트와 딕셔너리는 생성 후 내용을 변경할 수 있는 가변(mutable) 자료형이고, 나머지는 변경할 수 없는 불변(immutable) 자료형이다. 각 자료형은 데이터의 성격과 용도에 따라 적절히 선택하여 사용하며, 상황에 맞는 자료형을 선택하는 것이 효율적인 프로그래밍의 핵심이다.
숫자형 (Numeric Types)
정수 (int) :소수점이 없는 양수, 음수, 0을 나타내는 자료형입니다. 크기 제한이 없어 매우 큰 수도 표현할 수 있다.
age = 25
count = -10
big_number = 1000000
실수 (float) :소수점을 포함한 숫자를 나타내는 자료형입니다. 부동소수점 방식으로 저장되어 정밀도에 한계가 있다.
height = 175.5
temperature = -12.3
pi = 3.14159
문자열 (String)
텍스트 데이터를 저장하는 자료형으로, 작은따옴표나 큰따옴표로 감쌉니다. 불변(immutable) 자료형이므로 한 번 생성되면 내용을 직접 수정할 수 없다.
name = "홍길동"
message = '안녕하세요'
multiline = """여러 줄에 걸친
문자열입니다"""
# 문자열 연산
greeting = "안녕" + "하세요" # 연결
repeated = "파이썬 " * 3 # 반복
불린 (Boolean)
참(True) 또는 거짓(False) 값만을 가지는 논리 자료형입니다. 조건문이나 논리 연산에서 주로 사용된다.
is_student = True
is_adult = False
# 비교 연산 결과
result = 5 > 3 # True
리스트 (List)
여러 개의 값을 순서대로 저장하는 가변(mutable) 자료형입니다. 대괄호[]로 표현하며 다양한 자료형의 값을 함께 저장할 수 있다.
fruits = ["사과", "바나나", "오렌지"]
numbers = [1, 2, 3, 4, 5]
mixed = [1, "hello", True, 3.14]
# 리스트 조작
fruits.append("포도") # 추가
fruits[0] = "딸기" # 수정
del fruits[1] # 삭제
튜플 (Tuple)
리스트와 비슷하지만 생성 후 내용을 변경할 수 없는 불변 자료형입니다. 소괄호()로 표현하며 안전한 데이터 저장이 필요할 때 사용한다.
coordinates = (10, 20)
colors = ("빨강", "파랑", "노랑")
single_item = (42,) # 단일 항목 튜플은 쉼표 필요
딕셔너리 (Dictionary)
키(key)와 값(value)의 쌍으로 데이터를 저장하는 자료형입니다. 중괄호{}로 표현하며 키를 통해 빠르게 값에 접근할 수 있다.
person = {
"이름": "김철수",
"나이": 30,
"직업": "개발자"
}
# 딕셔너리 조작
person["이름"] # 값 접근
person["주소"] = "서울" # 새 키-값 추가
del person["나이"] # 삭제
집합 (Set)
중복되지 않는 고유한 값들의 모음을 저장하는 자료형입니다. 순서가 없으며 집합 연산(합집합, 교집합 등)을 지원한다.
numbers = {1, 2, 3, 4, 5}
unique_letters = set("hello") # {'h', 'e', 'l', 'o'}
# 집합 연산
set1 = {1, 2, 3}
set2 = {3, 4, 5}
union = set1 | set2 # 합집합 {1, 2, 3, 4, 5}
intersection = set1 & set2 # 교집합 {3}
자료형 확인 및 변환
# 자료형 확인
print(type(42)) # <class 'int'>
print(type("hello")) # <class 'str'>
# 자료형 변환
str_num = "123"
int_num = int(str_num) # 문자열을 정수로
float_num = float(str_num) # 문자열을 실수로
str_result = str(456) # 숫자를 문자열로
None 타입
값이 없음이나 정의되지 않음을 나타내는 특별한 자료형입니다. 함수에서 반환값이 없을 때나 변수를 초기화할 때 주로 사용된다.
result = None
if result is None:
print("값이 없습니다")