파이썬 기초, 자료형

파이썬의 기본 자료형은 크게 숫자형(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("값이 없습니다")