# Python 공부 시리즈 5편: 데이터 타입

Han·2025년 7월 14일

Python 입문 시리즈

목록 보기
6/14

5.1 숫자형 (int, float, complex) & 'decimal', 'fractions' 모듈

정수형 (int)

  • 설명 : 소수점 없는 정수, 메모리 한도 내에서 무제한 정밀도 지원.

  • 리터럴

    Python
    
    a = 123		# 10진수
    b = 0b1010		# 이진(2진수) -> 10
    c = 0o17		# 8진수 -> 15
    d = 0xFF		# 16진수 -> 255
  • 특징

    • type(a) -> <class 'int'>
    • 사칙연산, 비교 연산, 비트 연산 지원

부동소수점형(float)

  • 설명 : 소수점을 포함한 실수. IEEE-754 표준의 배정밀도(double) 사용.

  • 리터럴 & 지수 표기법

    Python
    
    x = 3.14
    y = 1.5e2
    z = -0.005
  • 특징

    • type(x) -> <class 'float'>
    • 정밀도 한계(0.1+0.2 != 0.3)
    • round(), math.isclose()로 오차 처리

복소수형(complex)

  • 설명 : 실수부와 허수부로 구성된 수.

  • 리터럴

    Python
    
    c1 = 2 + 3j
    c2 = complex(1,-1)
  • 속성

    • c1.real -> 실수부 (2.0)
    • c1.imag -> 허수부 (3.0)

decimal 모듈

  • 목적 : 금융 계산 등 정밀한 소수 연산이 필요할 때 사용

  • 사용법

    Python
    
    from decimal import Decimal, getcontext
    getcontext().prex = 28
    d1 = Decimal('0.1')
    d2 = Decimal('0,2')
    print(d1 + d2)

fractions 모듈

  • 목적: 정수 분수 형태로 수를 표현, 정확한 유리수 연산 지원

  • 사용법

    Python
    
    from fractions import Fraction
    f1 = Fraction(1, 3)
    f2 = Fraction(2, 5)
    print(f1 + f2)			# Fraction(11, 15)
    print(float(f1 + f2)	# 0.7333333333

5.2 시퀸스 타입: list, tuple, string

리스트(list)

  • 설명 : 순서가 있고, 가변(mutable)한 컬렉션

  • 생성

    Python
    
    fruits = ['apple', 'banana', 'cherry']
    nums = [1, 2, 3, 4, 5]
  • 인덱싱 & 슬라이싱

    Python
    
    fruits[0]		#'apple'
    nums[1:4]		#[2,3,4]
  • 주요 메서드

    • append(), extend(), insert(), remove(), pop(), sort(), reverse(), clear()

튜플(tuple)

  • 설명 : 순서가 있고, 불변(immutable)한 컬렉션

  • 생성

    Python
    
    coords = (10, 20)
    single = (5,)		#한 요소일 때도 쉼표 필요
  • 특징

    • 요소 변경 불가 -> 안전한 참조
    • 리스트보다 메모리 효율이 좋음
  • 언패킹

    Python
    
    x, y = coords

문자열 (str)

  • 설명 : 문자들의 순서 있는 불변 시퀸스
  • 생성
Python

s1 = "Hello, Python!"
s2 = 'kopo'
  • 인덱싱 & 슬라이싱
Python

s1[0]		#'H'
s1[7:13]	#'Python'
  • 주요 메서드
    • upper(), lower(), split(), join(), replace(),
      startswith(), find(), format(), f-string

5.3 집합(set) & 사전(dict)

집합(set)

  • 설명 : 순서 없고, 중복 제거 되는 가변 컬렉션
  • 생성
    Python
    

primes = {2, 3, 5, 7}
s = set([1, 2, 2, 3]) # {1, 2, 3}

- 주요 연산
  - 합집합: | 또는 union()
  - 교집합: & 또는 intersection()
  - 차집합: - 또는 difference()
  - 대칭차집합: ^ 또는 symmetric_difference()
- 메서드
  - add(), remove(), discard(), pop(), clear()
  
### 사전(dict)
- 설명 : 키(key)와 값(value)의 쌍을 저장하는 **매핑(mapping)**
- 생성

Python

person = {'name': 'Alice', 'age': 30}
d = dict(x=1, y=2)

- 접근 & 변경

Python

person['name'] = 'Bob' # 값 변경
email = person.get('email', 'N/A') # 키 없으면 기본값

- 반복

Python

for key in person: # key 반복
print(key, person[key])
for k, v in person.items():# 키, 값 동시에
print(k, v)

- 컴프리헨션

Python

squares = {i: i*i for i in range(1, 6)}


---

6편에서는 내장 숫자형, 정밀 연산 모듈, 시퀀스 타입과 컬렉션 타입을 폭넓게 다뤘습니다.
다음 7편에서는 연산자 & 표현식, 흐름 제어를 학습합니다!
profile
개발자를 꿈꾸는 청년

0개의 댓글