변수 데이터 타입
파이썬에서 변수는 다양한 데이터 타입을 가질 수 있으며, 변수의 타입은 데이터의 종류에 따라 자동으로 결정됩니다. 여기서는 파이썬의 **기본 데이터 타입**과 그 특징을 설명합니다.
1. 숫자형 (Numeric Types)
(1) 정수형 (int)
- 설명: 정수를 표현하는 타입.
- 크기의 제한이 없으며, 메모리가 허용하는 범위까지 사용 가능.
- 예제:
age = 25 temperature = -10 print(type(age)) # <class 'int'>
(2) 실수형 (float)
- 설명: 부동소수점 숫자를 표현.
- 소수점 이하 자릿수를 포함한 값을 다룰 때 사용.
- 예제:
pi = 3.14 temperature = -0.5 print(type(pi)) # <class 'float'>
(3) 복소수형 (complex)
- 설명: 복소수를 표현. 실수부와 허수부를 포함.
a + bj형태로 표현하며,j는 허수를 나타냄.- 예제:
complex_num = 3 + 4j print(type(complex_num)) # <class 'complex'> print(complex_num.real) # 3.0 (실수부) print(complex_num.imag) # 4.0 (허수부)
2. 문자열 (String)
- 설명: 문자나 문자열을 표현하는 타입. 작은따옴표(
') 또는 큰따옴표(")로 감싸서 표현. - 문자열은 불변(immutable)하며, 인덱싱과 슬라이싱을 지원.
- 예제:
name = "Alice" message = 'Hello, World!' print(type(name)) # <class 'str'> print(name[0]) # 'A' (인덱싱) print(name[:3]) # 'Ali' (슬라이싱)
3. 불린형 (Boolean)
- 설명: 참(
True)과 거짓(False)을 표현하는 타입. - 주로 조건문이나 논리 연산에 사용.
- 예제:
is_active = True is_logged_in = False print(type(is_active)) # <class 'bool'> print(is_active and is_logged_in) # False
4. NoneType
- 설명: 값이 없음을 나타내는 타입.
None은 다른 언어의null과 유사. - 주로 변수를 초기화하거나 함수에서 반환 값이 없음을 나타낼 때 사용.
- 예제:
result = None print(type(result)) # <class 'NoneType'>
5. 시퀀스형 (Sequence Types)
(1) 리스트 (list)
- 설명: 변경 가능한(mutable) 순서가 있는 컬렉션. 다양한 데이터 타입 혼합 가능.
- 예제:
fruits = ["apple", "banana", "cherry"] print(type(fruits)) # <class 'list'> fruits.append("orange") # 리스트에 추가 print(fruits) # ['apple', 'banana', 'cherry', 'orange']
(2) 튜플 (tuple)
- 설명: 변경 불가능한(immutable) 순서가 있는 컬렉션.
- 예제:
coordinates = (10, 20) print(type(coordinates)) # <class 'tuple'> # coordinates[0] = 15 # TypeError: 튜플은 변경 불가
(3) 문자열 (str)
- 이미 위에서 설명한 대로, 문자열도 시퀀스형의 일종.
6. 집합형 (Set Types)
(1) 집합 (set)
- 설명: 중복되지 않는 항목들의 변경 가능한(mutable) 집합. 순서가 없음.
- 예제:
numbers = {1, 2, 3, 3, 4} print(type(numbers)) # <class 'set'> print(numbers) # {1, 2, 3, 4}
(2) 불변 집합 (frozenset)
- 설명: 변경 불가능한(immutable) 집합.
- 예제:
immutable_set = frozenset([1, 2, 3]) print(type(immutable_set)) # <class 'frozenset'>
7. 매핑형 (Mapping Types)
딕셔너리 (dict)
- 설명: 키-값 쌍으로 이루어진 변경 가능한 컬렉션.
- 키는 고유해야 하며, 해시 가능한 객체여야 함.
- 예제:
student = {"name": "Alice", "age": 25, "grade": "A"} print(type(student)) # <class 'dict'> print(student["name"]) # 'Alice' student["age"] = 26 # 값 변경
8. 바이너리 데이터 타입
(1) 바이트 (bytes)
- 설명: 불변(immutable)한 바이너리 데이터를 표현.
- 예제:
byte_data = b"Hello" print(type(byte_data)) # <class 'bytes'>
(2) 바이트 배열 (bytearray)
- 설명: 변경 가능한(mutable) 바이너리 데이터.
- 예제:
byte_array = bytearray([65, 66, 67]) # ASCII 코드 print(type(byte_array)) # <class 'bytearray'>
9. 기타 타입
(1) 열거형 (enumerate)
- 설명: 열거된 객체를 반환.
- 예제:
items = ["a", "b", "c"] for index, value in enumerate(items): print(index, value)
(2) 레인지 (range)
- 설명: 일정 범위의 숫자를 생성하는 객체.
- 예제:
for i in range(5): print(i) # 0, 1, 2, 3, 4
파이썬의 데이터 타입은 매우 다양하며, 각 타입은 특정 상황에서 적합하게 사용할 수 있습니다. 필요에 따라 적절한 타입을 선택하면 코드의 가독성과 효율성이 향상됩니다.