설명 : 소수점 없는 정수, 메모리 한도 내에서 무제한 정밀도 지원.
리터럴
Python
a = 123 # 10진수
b = 0b1010 # 이진(2진수) -> 10
c = 0o17 # 8진수 -> 15
d = 0xFF # 16진수 -> 255
특징
설명 : 소수점을 포함한 실수. IEEE-754 표준의 배정밀도(double) 사용.
리터럴 & 지수 표기법
Python
x = 3.14
y = 1.5e2
z = -0.005
특징
설명 : 실수부와 허수부로 구성된 수.
리터럴
Python
c1 = 2 + 3j
c2 = complex(1,-1)
속성
목적 : 금융 계산 등 정밀한 소수 연산이 필요할 때 사용
사용법
Python
from decimal import Decimal, getcontext
getcontext().prex = 28
d1 = Decimal('0.1')
d2 = Decimal('0,2')
print(d1 + d2)
목적: 정수 분수 형태로 수를 표현, 정확한 유리수 연산 지원
사용법
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
설명 : 순서가 있고, 가변(mutable)한 컬렉션
생성
Python
fruits = ['apple', 'banana', 'cherry']
nums = [1, 2, 3, 4, 5]
인덱싱 & 슬라이싱
Python
fruits[0] #'apple'
nums[1:4] #[2,3,4]
주요 메서드
설명 : 순서가 있고, 불변(immutable)한 컬렉션
생성
Python
coords = (10, 20)
single = (5,) #한 요소일 때도 쉼표 필요
특징
언패킹
Python
x, y = coords
Python
s1 = "Hello, Python!"
s2 = 'kopo'
Python
s1[0] #'H'
s1[7:13] #'Python'
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편에서는 연산자 & 표현식, 흐름 제어를 학습합니다!