플그래밍/파이써언

Python: 부동소수점(float) 타입 사용하는 법

훗티v 2024. 12. 1. 16:51
Python에서 부동소수점(float) 타입 사용하는 법

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의 기본 사용법과 주의사항을 이해하면, 더 나은 계산 결과를 얻을 수 있습니다. 특히 반올림 오류와 비교 연산 시 오차를 고려하여 코드를 작성하는 것이 중요합니다. 부동소수점을 활용한 다양한 계산을 직접 시도하며 익숙해져 보세요!

728x90