반응형
파이썬의 **실수(float)**는 소수점이 있는 숫자를 표현하는 자료형입니다. 소수점 아래 값을 다룰 수 있기 때문에 계산, 과학, 금융 등 다양한 분야에서 활용됩니다. 이 자료형은 IEEE 754 표준을 사용하여 64비트 부동소수점으로 표현됩니다.
1. 실수 생성
기본 실수 생성
a = 3.14
b = -0.25
c = 1.0 # 소수점이 있으면 실수로 간주
print(a, b, c)
결과:
3.14 -0.25 1.0
정수를 실수로 변환
a = float(10)
print(a)
결과:
10.0
float() 함수를 사용하면 정수를 실수로 변환할 수 있습니다.
2. 문자열을 실수로 변환
num_str = "123.45"
num = float(num_str)
print(num)
결과:
123.45
float() 함수는 문자열 형태의 숫자를 실수로 변환합니다. 잘못된 문자열을 변환하려고 하면 오류가 발생합니다.
3. 실수 연산
기본 연산
a = 3.5
b = 2.0
print(a + b) # 덧셈
print(a - b) # 뺄셈
print(a * b) # 곱셈
print(a / b) # 나눗셈
결과:
5.5
1.5
7.0
1.75
몫, 나머지, 거듭제곱
a = 7.5
b = 2.0
print(a // b) # 몫
print(a % b) # 나머지
print(a ** b) # 거듭제곱
결과:
3.0
1.5
56.25
//와 %는 실수에서도 동작하며, 결과는 실수로 반환됩니다.
4. 반올림과 절댓값
반올림: round()
a = 3.14159
print(round(a, 2)) # 소수점 둘째 자리까지 반올림
결과:
3.14
round()는 소수점 아래 특정 자리까지 반올림합니다.
절댓값: abs()
a = -7.25
print(abs(a)) # 절댓값
결과:
7.25
abs()는 숫자의 절댓값을 반환합니다.
5. 실수와 정수 간 변환
실수 → 정수
a = 10.75
b = int(a)
print(b)
결과:
10
int() 함수는 실수를 정수로 변환하며, 소수점 아래 값을 버립니다.
정수 → 실수
a = 10
b = float(a)
print(b)
결과:
10.0
float() 함수는 정수를 실수로 변환합니다.
6. 실수의 무한대와 NaN (Not a Number)
무한대
positive_inf = float("inf")
negative_inf = float("-inf")
print(positive_inf) # 양의 무한대
print(negative_inf) # 음의 무한대
결과:
inf
-inf
float("inf")는 양의 무한대를, float("-inf")는 음의 무한대를 나타냅니다.
NaN (Not a Number)
nan_value = float("nan")
print(nan_value)
결과:
nan
float("nan")은 숫자가 아님을 나타냅니다.
7. 실수의 정밀도 문제
실수는 근삿값으로 저장되므로 정확하지 않을 수 있습니다.
a = 0.1 + 0.2
print(a == 0.3) # 비교
print(a) # 실제 값
결과:
False
0.30000000000000004
부동소수점 계산은 근삿값을 사용하므로 정밀도가 제한됩니다. 정확한 계산이 필요할 경우 decimal 모듈을 사용할 수 있습니다.
8. math 모듈을 활용한 고급 연산
주요 함수
import math
# 제곱근
print(math.sqrt(16))
# 올림, 내림
print(math.ceil(4.2)) # 올림
print(math.floor(4.8)) # 내림
# 삼각 함수
print(math.sin(math.pi / 2))
print(math.cos(0))
결과:
4.0
5
4
1.0
1.0
math 모듈은 제곱근, 올림/내림, 삼각 함수 등 고급 수학 연산을 제공합니다.
9. 실수 활용 예제
소수점 아래 자리수 제한 출력
num = 123.456789
print(f"{num:.2f}") # 소수점 둘째 자리까지 출력
결과:
123.46
실수 값 범위 확인
def check_value(value):
if value == float("inf"):
return "Infinity"
elif value == float("-inf"):
return "Negative Infinity"
elif math.isnan(value):
return "NaN"
else:
return "Finite value"
print(check_value(float("nan")))
print(check_value(float("inf")))
print(check_value(123.45))
결과:
NaN
Infinity
Finite value
요약: 실수는 정밀하게, 하지만 조심스럽게!
- 실수 생성: 정수나 문자열을 float()로 변환하여 생성 가능.
- 반올림과 절댓값: round()와 abs()를 사용.
- 정밀도 주의: 부동소수점 계산은 근삿값을 사용하므로 정밀도가 제한될 수 있음.
- 무한대와 NaN: float("inf")와 float("nan")으로 표현 가능.
파이썬의 실수는 부동소수점 연산을 지원하여 유연하고 강력한 도구로 활용될 수 있지만, 정밀도 문제를 염두에 두고 사용해야 합니다. 🚀
반응형
'파이썬 Python' 카테고리의 다른 글
파이썬 Python 정수(int) 함수 사용법 (0) | 2024.11.30 |
---|---|
파이썬 Python 문자열 사용법 (1) | 2024.11.28 |
파이썬 정수(int) 함수 사용법 (1) | 2024.11.28 |
파이썬 Python 집합(Set) 사용법 (1) | 2024.11.27 |
파이썬 Python 튜플(Tuple) 사용법 (0) | 2024.11.27 |
파이썬(Python) JSON 처리 (0) | 2024.11.26 |
파이썬 Python 날짜와 시간 다루기 (0) | 2024.11.26 |
파이썬 Python 파일 경로 다루기 (0) | 2024.11.23 |