자료형이란?
- 변수를 저장하는 데이터 형식
- 종류 : Integer, Float, String, List, Dictionary 등등
자료형이 중요한 이유
- 자료형마다 메모리 공간의 크기가 다르다.
- 자료형 별로 서식문자와 데이터 표현 범위가 다르다.
➡️ 메모리의 낭비 최소화
더보기
📌 Python에서 변수의 메모리 크기 출력 방법
from sys import getsizeof
a = 1
print(getsizeof(a)) # 28
b = "1"
print(getsizeof(b)) # 50
자료형 종류
더보기
📌 자료형 알아보는 방법
print(type(None)) # <class 'NoneType'>
print(type(1)) # <class 'int'>
print(type(1.0)) # <class 'float'>
print(type(1 + 1j)) # <class 'complex'>
print(type("1")) # <class 'str'>
- None Type
- 변수가 비어있음을 표시 할때 사용
- 표기 방법 : None
- Boolean
- True와 False 값을 가진다.
- 참 / 거짓을 나타내기 때문에 프로그래밍에서 조건을 판단할 때 많이 사용된다.
- 표기 방법 : True or False
- Integer
- 정수 값을 가진다.
- 표기 방법 : -1, -2, 0, 1, 2, ...
- Float
- 실수 값을 가진다
- 표기 방법 : 1.1, 1.2, 3.33, ...
- Complex
- 실수와 허수요소를 가진 값.
- 복소수를 사용할 때는 허수부 숫자 뒤에 j문자를 붙인다.
- 표기 방법 : 4+2j, 3.33+5j, ...
- String
- 단어, 문장과 같은 일련의 텍스트 데이터를 나타내는 데 사용
- 작은따옴표('')나 큰따옴표("")로 감싸여 있다.
- 문자들이 일련의 순서로 배열되어 있기 때문에 시퀀스 유형에 해당한다.
- 표기 방법 : "Hello", "World", ...
- List
- 다수의 데이터를 저장하는 데 사용
- 리스트에 포함된 데이터는 요소(Element)라 부르며 각 요소는 고유한 위치(Index)를 가지고 있다.
- 대괄호([ ])로 감싸여져 있다.
- 표기 방법 : [1, 2, 3, 4], [1, "hello", 3.33], ...
- Tuple
- 리스트와 비슷하게 다수의 데이터를 저장하는데 사용하나 요소 변경 불가
- 안정성이 중요한 상황에서 사용한다.
- 소괄호( () )로 감싸여져 있다.
- 표기 방법 : (1, 2, 3, 4), (1, "hello", 3.33), ...
- Dictionary
- Key-Value 가 쌍으로 구성된다.
- Key는 Value(값)을 구분하는 역할을 하므로 중복 불가, 리스트 사용불가
- 요소(key-value)의 순서가 중요하지 않음
- 중괄호( {} )로 감싸여져 있다.
- 표기 방법 : {1:"1", 2:"2", 3:"3"}, {(1,1):"1", (2,2):"2", (3,3):"3"}, ...
- Set
- 중복된 값이 없는 유일한 값들의 모임
- 순서가 없는 데이터들의 모임이므로 Index로 접근이 불가
- 리스트 타입은 넣을 수 없다.
- 지원하는 연산 : 교집합, 합집합, 차집합, append, remove, update 등등
- 중괄호( {} )로 감싸여져 있다.
- 표기 방법 : {1,2,3,4,5}, {1, "1", 1.1111, ("a","b"), 1+1j}, ...
- Function
- 파이썬에서는 함수도 독자적인 자료형을 가진다.
- 파이썬에서 함수의 자료형 이름은 function이다.
- 표기 방법
def func_test():
return 1
print(type(func_test))
변형 자료형 / 불변형 자료형
변형 자료형
- 변수에 할당된 데이터 값을 바꿀 때 할당된 메모리를 유지하고 메모리에 쓰인 값(내용)만 바꾼다.
- 자료형 : 리스트, 딕셔너리, Set
불변형 자료형
- 변수에 할당된 데이터 값을 바꿀 때 메모리에 저장된 데이터 전체를 모두 없애고 새 메모리에 새로운 값을 넣는다.
- 자료형 : 정수, 실수, 문자열, 튜플
변형 / 불변형 자료형 확인 방법
test_int = 123
test_str = "hello"
test_dict = {1:"first"}
# 각 변수들 메모리 주소 확인
print(id(test_int)) # 140727043765968
print(id(test_str)) # 1773901991664
print(id(test_dict)) # 1773899179392
# 값 변경
test_int = 456
test_str = "world"
test_dict[1] = "second"
# 각 변수들 메모리 주소 변경 확인
print(id(test_int)) # 1773899323248 변경 = 불변형
print(id(test_str)) # 1773901982832 변경 = 불변형
print(id(test_dict)) # 1773899179392 유지 = 변형
자료형 vs. 자료구조
- 자료구조
- 데이터에 효율적으로 접근하고 조작하기 위한 데이터의 조직, 관리, 저장 구조
- 일반적으로 원시 자료형을 기반으로 하는 배열, 연결 리스트, 객체 등을 말한다.
- 예시 : 배열, 스택, 큐, 해시테이블 등등
- 자료형
- 컴파일러 또는 인터프리터에게 프로그래머가 데이터를 어떻게 사용하는지를 알려주는 일종의 데이터 속성(Attribute)
- 원시 자료형(정수, 실수, 문자열, ...)을 포함하는 모든 자료 유형
- 예시 : integer, float, string, set, list 등등
참조
'Python' 카테고리의 다른 글
Python 자료구조 (1) | 2024.01.21 |
---|
댓글