Python에서 부동소수점(float) 타입 사용하는 법
Python에서 숫자 데이터를 다룰 때 흔히 사용하는 타입 중 하나가 **부동소수점(float)**입니다. 부동소수점은 실수를 표현하는 데이터 타입으로, 정수와 달리 소수점을 포함한 숫자를 처리할 수 있습니다. 이번 포스팅에서는 Python에서 부동소수점 타입을 사용하는 방법과 특징, 주의사항을 살펴보겠습니다.
1. 부동소수점(float)이란?
부동소수점은 실수를 표현하기 위한 데이터 타입으로, 소수점이 포함된 값을 저장할 수 있습니다. Python에서 부동소수점 타입은 float
로 불립니다.
# 부동소수점 값 생성
a = 3.14
b = -2.5
c = 0.0
print(a) # 출력: 3.14
print(b) # 출력: -2.5
print(c) # 출력: 0.0
2. 부동소수점 생성 방법
2.1. 소수점 사용
부동소수점은 소수점을 포함하여 직접 생성할 수 있습니다.
x = 1.23
y = -4.56
print(x, y) # 출력: 1.23 -4.56
2.2. float()
함수 사용
정수나 문자열을 float()
함수를 사용해 부동소수점으로 변환할 수 있습니다.
a = float(5) # 정수를 float로 변환
b = float("3.14") # 문자열을 float로 변환
print(a) # 출력: 5.0
print(b) # 출력: 3.14
2.3. 지수 표기법
부동소수점은 지수 표기법(과학적 표기법)을 사용하여 매우 큰 숫자나 작은 숫자를 표현할 수 있습니다.
x = 1.2e3 # 1.2 × 10^3 = 1200.0
y = 4.5e-2 # 4.5 × 10^-2 = 0.045
print(x) # 출력: 1200.0
print(y) # 출력: 0.045
3. 부동소수점 연산
Python에서 부동소수점 값은 기본적인 산술 연산에 사용될 수 있습니다.
a = 5.0
b = 2.0
print(a + b) # 출력: 7.0 (덧셈)
print(a - b) # 출력: 3.0 (뺄셈)
print(a * b) # 출력: 10.0 (곱셈)
print(a / b) # 출력: 2.5 (나눗셈)
3.1. 정수와의 연산
부동소수점과 정수 간의 연산 결과는 항상 부동소수점이 됩니다.
x = 4
y = 1.5
result = x + y
print(result) # 출력: 5.5
print(type(result)) # 출력:
4. 부동소수점의 한계와 주의사항
부동소수점은 컴퓨터의 메모리 제한으로 인해 정확도에 한계가 있습니다.
4.1. 반올림 오류
부동소수점은 일부 값을 정확하게 표현하지 못할 수 있습니다.
x = 0.1 + 0.2
print(x) # 출력: 0.30000000000000004 (반올림 오류 발생)
이 문제를 해결하려면 round()
함수를 사용하여 소수점 자릿수를 지정할 수 있습니다.
x = 0.1 + 0.2
print(round(x, 2)) # 출력: 0.3
4.2. 비교 연산 시 주의
부동소수점을 비교할 때는 오차를 고려해야 합니다.
a = 0.1 + 0.2
b = 0.3
print(a == b) # 출력: False (정확한 비교 불가)
# 오차를 고려한 비교
epsilon = 1e-10
print(abs(a - b) < epsilon) # 출력: True
5. 활용 사례
5.1. 금융 계산
금액 계산 시 소수점을 다룰 때 유용합니다.
price = 19.99
quantity = 3
total = price * quantity
print(total) # 출력: 59.97
5.2. 과학 및 통계 계산
부동소수점은 과학적 데이터나 통계 계산에서도 자주 사용됩니다.
import math
radius = 5.5
area = math.pi * radius**2
print(area) # 출력: 95.03317777109125
6. 마무리
Python에서 부동소수점은 실수를 표현하고 계산하는 데 필수적인 데이터 타입입니다. float
의 기본 사용법과 주의사항을 이해하면, 더 나은 계산 결과를 얻을 수 있습니다. 특히 반올림 오류와 비교 연산 시 오차를 고려하여 코드를 작성하는 것이 중요합니다. 부동소수점을 활용한 다양한 계산을 직접 시도하며 익숙해져 보세요!
'플그래밍 > 파이써언' 카테고리의 다른 글
Python: 문자열 타입 다루는 법 (1) | 2024.12.01 |
---|---|
Python: 무한대와 NaN 표현하기 (1) | 2024.12.01 |
Python: 불리언 연산 이해하기 (1) | 2024.12.01 |
Python: 여러 변수 간 비교 연산하기 (1) | 2024.12.01 |
Python: 비교 연산자 활용하기 (2) | 2024.12.01 |