본문 바로가기
Python

Python 자료타입

by Sunyoung95 2024. 1. 16.

 

Python의 자료형

자료형이란?

  • 변수를 저장하는 데이터 형식
  • 종류 : 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'>
  1. None Type
    • 변수가 비어있음을 표시 할때 사용
    • 표기 방법 : None
  2. Boolean
    • True와 False 값을 가진다.
    • 참 / 거짓을 나타내기 때문에 프로그래밍에서 조건을 판단할 때 많이 사용된다.
    • 표기 방법 : True or False
  3. Integer
    • 정수 값을 가진다. 
    • 표기 방법 : -1, -2, 0, 1, 2, ...
  4. Float
    • 실수 값을 가진다
    • 표기 방법 : 1.1, 1.2, 3.33, ...
  5. Complex
    • 실수와 허수요소를 가진 값.
    • 복소수를 사용할 때는 허수부 숫자 뒤에 j문자를 붙인다.
    • 표기 방법 : 4+2j, 3.33+5j, ...
  6. String
    • 단어, 문장과 같은 일련의 텍스트 데이터를 나타내는 데 사용
    • 작은따옴표('')나 큰따옴표("")로 감싸여 있다.
    • 문자들이 일련의 순서로 배열되어 있기 때문에 시퀀스 유형에 해당한다.
    • 표기 방법 : "Hello", "World", ...
  7. List
    • 다수의 데이터를 저장하는 데 사용
    • 리스트에 포함된 데이터는 요소(Element)라 부르며 각 요소는 고유한 위치(Index)를 가지고 있다.
    • 대괄호([ ])로 감싸여져 있다.
    • 표기 방법 : [1, 2, 3, 4], [1, "hello", 3.33], ...
  8. Tuple
    • 리스트와 비슷하게 다수의 데이터를 저장하는데 사용하나 요소 변경 불가
    • 안정성이 중요한 상황에서 사용한다.
    • 소괄호( () )로 감싸여져 있다.
    • 표기 방법 : (1, 2, 3, 4), (1, "hello", 3.33), ...
  9. Dictionary
    • Key-Value 가 쌍으로 구성된다.
    • Key는 Value(값)을 구분하는 역할을 하므로 중복 불가, 리스트 사용불가
    • 요소(key-value)의 순서가 중요하지 않음
    • 중괄호( {} )로 감싸여져 있다.
    • 표기 방법 : {1:"1", 2:"2", 3:"3"}, {(1,1):"1", (2,2):"2", (3,3):"3"}, ...
  10. Set
    • 중복된 값이 없는 유일한 값들의 모임
    • 순서가 없는 데이터들의 모임이므로 Index로 접근이 불가
    • 리스트 타입은 넣을 수 없다.
    • 지원하는 연산 : 교집합, 합집합, 차집합, append, remove, update 등등
    • 중괄호( {} )로 감싸여져 있다.
    • 표기 방법 : {1,2,3,4,5}, {1, "1", 1.1111, ("a","b"), 1+1j}, ...
  11.  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 등등

 

 


참조

https://ctkim.tistory.com/entry/Python-%EC%9E%85%EB%AC%B8-%EA%B0%95%EC%A2%8C-5-%EC%9E%90%EB%A3%8C%ED%98%95Date-Type%EC%9D%98-%EC%A2%85%EB%A5%98

 

[Python 입문 강좌 -5] 자료형(Data Type)의 종류

더보기 ##파이썬 입문 목차 1. 파이썬 이란? 2-1. 파이썬 윈도우 설치 2-2. 파이썬 맥북 설치 2-3. 윈도우 파이썬 IDE 파이참 설치하기 2-4. 맥북 파이썬 IDE 파이참 설치하기 3. 파이썬 변수(Variable)의 정

ctkim.tistory.com

https://datascienceschool.net/01%20python/02.14%20%ED%8C%8C%EC%9D%B4%EC%8D%AC%EC%9D%98%20%EC%9E%90%EB%A3%8C%ED%98%95.html

 

2.14 파이썬의 자료형 — 데이터 사이언스 스쿨

.ipynb .pdf to have style consistency -->

datascienceschool.net

https://velog.io/@rhdmstj17/%EC%84%A0%ED%98%95-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EC%9E%90%EB%A3%8C%EA%B5%AC%EC%A1%B0-%EC%9E%90%EB%A3%8C%ED%98%95-%EC%B6%94%EC%83%81-%EC%9E%90%EB%A3%8C%ED%98%95%EC%9D%98-%EC%B0%A8%EC%9D%B4-python

 

선형 자료구조 ( python 자료구조, 자료형, 추상 자료형의 차이 )

선형 자료구조에 해당하는 배열, 연결리스트, 스택, 큐, 데크, 우선순위 큐에 대해 간단히 알아보고 자료구조, 자료형, 추상 자료형의 차이점에 대해 명확히 알아보자 선형 자료구조 데이터 요소

velog.io

'Python' 카테고리의 다른 글

Python 자료구조  (1) 2024.01.21

댓글