프로그래밍에서 자료형(Data Types)은 각 데이터가 어떤 종류의 값인지 알려주는 역할을 합니다. 파이썬은 다양한 내장 자료형을 제공하며, 이를 이해하고 올바르게 사용하는 것은 효율적이고 오류 없는 코드를 작성하는 데 있어 매우 중요합니다. 이번 장에서는 파이썬의 주요 자료형 및 그 사용법에 대해 심도 있게 탐구해보겠습니다.
파이썬의 주요 자료형
파이썬의 자료형은 크게 불린형(bool
), 정수형(int
), 부동소수점형(float
), 복소수형(complex
), 문자형(str
), 리스트형(list
), 튜플형(tuple
), 세트형(set
), 딕셔너리형(dict
) 등으로 분류할 수 있습니다.
불린형(bool
)
불린형은 논리적인 참(True
)과 거짓(False
)을 표현합니다. 주로 조건문에서 중점적으로 사용되며, 그 외에도 논리 연산에 활용됩니다.
예시
is_raining = True
is_sunny = False
print(is_raining and is_sunny) # 출력: False
print(is_raining or is_sunny) # 출력: True
정수형(int
)
정수형은 정수를 표현합니다. 파이썬은 임의의 정밀도를 지원하므로 메모리가 허락하는 한 정수의 자릿수에 제한이 없습니다.
예시
large_number = 10000000000000000000
small_number = -42
print(large_number + small_number) # 출력: 9999999999999999958
부동소수점형(float
)
부동소수점형은 소수점이 있는 숫자(실수)를 표현하는 데 사용됩니다. 부동소수점 수의 정확성은 사용중인 시스템의 이진 표현 방식에 따라 다소 차이가 날 수 있습니다.
예시
pi = 3.141592653589793
radius = 5.0
area = pi * (radius ** 2)
print("원의 면적:", area) # 출력: 원의 면적: 78.53981633974483
복소수형(complex
)
복소수형은 실수부와 허수부로 구성된 복소수를 표현하는 데 사용됩니다. 복소수는 주로 과학 계산이나 공학적 수학에서 사용됩니다.
예시
z = 3 + 4j
print("실수부:", z.real) # 출력: 실수부: 3.0
print("허수부:", z.imag) # 출력: 허수부: 4.0
문자형(str
)
문자열은 텍스트를 나타내며, 작은 따옴표나 큰 따옴표로 둘러싸여 표시됩니다. 문자열은 불변(immutable) 자료형입니다.
예시
greeting = "Hello, World!"
name = 'Alice'
message = greeting + " " + name
print(message) # 출력: Hello, World! Alice
리스트형(list
)
리스트는 여러 값을 순서대로 저장할 수 있는 자료형으로, 대괄호([])로 정의됩니다. 리스트는 가변(mutable) 자료형으로, 요소의 추가, 삭제 및 수정이 가능합니다.
예시
fruits = ["apple", "banana", "cherry"]
fruits.append("orange")
print(fruits) # 출력: ['apple', 'banana', 'cherry', 'orange']
fruits[1] = "blueberry"
print(fruits) # 출력: ['apple', 'blueberry', 'cherry', 'orange']
튜플형(tuple
)
튜플은 리스트와 유사하지만, 불변(immutable)한 특성을 갖습니다. 변경이 불가능한 대상을 관리할 때 유용합니다. 소괄호(())로 정의됩니다.
예시
coordinates = (10.0, 20.0)
# coordinates[0] = 15.0 # 오류 발생: 'tuple' object does not support item assignment
print(coordinates) # 출력: (10.0, 20.0)
세트형(set
)
세트는 중복이 없는 요소의 모음으로, 순서가 없습니다. 집합 관련 연산을 할 때 유용합니다. 중괄호({})로 정의됩니다.
예시
fruit_set = {"apple", "banana", "cherry"}
fruit_set.add("orange")
print(fruit_set) # 출력의 순서는 랜덤: {'orange', 'banana', 'cherry', 'apple'}
# 요소 삭제 예시
fruit_set.remove("banana")
print(fruit_set) # 출력: {'orange', 'cherry', 'apple'}
딕셔너리형(dict
)
딕셔너리는 키/값 쌍을 저장하는 자료형입니다. 대괄호({})로 정의되며, 키값은 중복되지 않아야 합니다.
예시
person = {"name": "John", "age": 30, "job": "developer"}
print(person["name"]) # 출력: John
# 새로운 키/값 쌍 추가
person["city"] = "New York"
print(person) # 출력: {'name': 'John', 'age': 30, 'job': 'developer', 'city': 'New York'}
자료형 변환
파이썬에서 자료형을 변환하는 것은 매우 유용합니다. 주로 명시적 변환(explicit conversion)이나 암시적 변환(implicit conversion)을 통해 이루어집니다.
명시적 변환(형변환)
명시적 변환은 개발자가 직접 코드 내에서 변환을 명확히 나타냄으로써 이루어집니다. 이를 위해 파이썬은 다양한 형변환 함수를 제공합니다.
예시
# 정수를 문자열로 변환
num = 123
num_str = str(num)
print(type(num_str)) # 출력: <class 'str'>
# 문자열을 정수로 변환
str_num = "456"
num_int = int(str_num)
print(type(num_int)) # 출력: <class 'int'>
# 정수를 부동소수점으로 변환
int_num = 10
float_num = float(int_num)
print(float_num) # 출력: 10.0
암시적 변환(자동 형변환)
암시적 변환은 파이썬이 자동으로 진행하는 형 변환을 말합니다. 데이터 손실의 위험이 없는 경우에 주로 발생합니다.
예시
int_num = 5
float_num = 2.3
result = int_num + float_num
print(result) # 출력: 7.3
print(type(result)) # 출력: <class 'float'>
맺음말
이번 장에서는 파이썬의 다양한 자료형에 대해 알아보았습니다. 각 자료형의 특성과 올바른 사용법을 이해하는 것은 파이썬 프로그래밍을 보다 깊이 있게 배우는 데 있어 매우 중요합니다. 다음 장에서는 제어문과 함수 등 더 발전된 주제를 다루며, 이를 통해 파이썬을 사용한 보다 복합적이고 강력한 프로그램을 작성할 수 있게 도와드리겠습니다.