Python

[Python] 파이썬 실수와 정수 사용법: float vs int

sécurité de l'information 2024. 7. 24.

[Python] 파이썬 실수와 정수 다루기: float vs int

목차

  1. 소개
  2. 정수 (int)
  3. 실수 (float)
  4. 형 변환
  5. 연산과 주의사항
  6. 실제 사용 예시
  7. 성능 고려사항
  8. 결론
  9. 추가 학습 자료

소개

안녕하세요, 파이썬 초보자 여러분! 오늘은 파이썬에서 가장 기본적이면서도 중요한 데이터 타입인 정수(int)와 실수(float)에 대해 알아보겠습니다. 이 두 타입은 숫자를 다룰 때 매우 자주 사용되므로, 그 차이점과 특징을 잘 이해하는 것이 중요합니다.

정수 (int)

정수(Integer)는 소수점이 없는 숫자를 말합니다. 예를 들어, -3, 0, 42와 같은 숫자들이 정수에 해당합니다.

특징:

  • 메모리 상에서 정확한 값으로 저장됩니다.
  • 파이썬에서는 크기 제한이 없습니다 (메모리가 허용하는 한).
x = 42
print(type(x))  # <class 'int'>
print(x)  # 42

실수 (float)

실수(Floating-point number)는 소수점이 있는 숫자를 말합니다. 예를 들어, 3.14, -0.001, 2.0과 같은 숫자들이 실수에 해당합니다.

특징:

  • 컴퓨터에서는 근사값으로 저장됩니다 (이진 부동소수점 방식 사용).
  • 정밀도에 제한이 있어 매우 큰 수나 매우 작은 수를 표현할 때 주의가 필요합니다.
y = 3.14
print(type(y))  # <class 'float'>
print(y)  # 3.14

형 변환

때로는 정수와 실수 사이의 변환이 필요할 수 있습니다. 파이썬에서는 이를 쉽게 할 수 있습니다.

# 정수를 실수로 변환
a = float(5)
print(a)  # 5.0

# 실수를 정수로 변환 (소수점 이하 버림)
b = int(3.14)
print(b)  # 3

# 문자열을 정수나 실수로 변환
c = int("42")
d = float("3.14")
print(c, d)  # 42 3.14

연산과 주의사항

정수와 실수는 서로 다른 특성을 가지고 있어, 연산 시 주의해야 할 점들이 있습니다.

나눗셈 연산

# 정수 나눗셈
print(5 / 2)  # 2.5 (파이썬 3에서는 항상 float 반환)
print(5 // 2)  # 2 (몫만 구하기, 정수 반환)
print(5 % 2)  # 1 (나머지 구하기)

# 실수 나눗셈
print(5.0 / 2)  # 2.5
print(5.0 // 2)  # 2.0 (소수점 이하 버림, float 반환)

정밀도 문제

실수 연산에서는 정밀도 문제를 주의해야 합니다.

print(0.1 + 0.2)  # 0.30000000000000004

이런 문제를 해결하기 위해 round() 함수나 decimal 모듈을 사용할 수 있습니다.

print(round(0.1 + 0.2, 1))  # 0.3

from decimal import Decimal
print(Decimal('0.1') + Decimal('0.2'))  # 0.3

실제 사용 예시

정수와 실수의 활용 예시를 살펴보겠습니다.

1. 온도 변환기

def celsius_to_fahrenheit(celsius):
    return (celsius * 9/5) + 32

temp_c = 25
temp_f = celsius_to_fahrenheit(temp_c)
print(f"{temp_c}°C는 {temp_f:.1f}°F입니다.")
# 출력: 25°C는 77.0°F입니다.

2. 원의 넓이 계산기

import math

def circle_area(radius):
    return math.pi * radius ** 2

r = 5
area = circle_area(r)
print(f"반지름이 {r}인 원의 넓이: {area:.2f}")
# 출력: 반지름이 5인 원의 넓이: 78.54

성능 고려사항

정수와 실수 사용 시 성능 차이를 고려해야 할 수 있습니다.

특성 정수 (int) 실수 (float)
정밀도 정확함 근사값
연산 속도 빠름 상대적으로 느림
메모리 사용 가변적 (작은 수는 적게 사용) 고정 (일반적으로 8바이트)

큰 숫자를 다루거나 많은 연산이 필요한 경우, 가능하다면 정수를 사용하는 것이 성능상 유리할 수 있습니다.

결론

파이썬에서 정수(int)와 실수(float)는 각각 고유한 특성과 용도를 가지고 있습니다. 정수는 정확한 값을 표현하고 빠른 연산이 가능하지만, 소수점이 필요한 경우에는 실수를 사용해야 합니다. 실수는 근사값으로 저장되기 때문에 정밀한 계산이 필요할 때는 주의가 필요합니다.

프로그래밍을 하면서 이 두 타입의 특성을 잘 이해하고 적절히 활용한다면, 더 효율적이고 정확한 코드를 작성할 수 있을 것입니다.

추가 학습 자료

이 포스팅이 여러분의 파이썬 학습에 도움이 되었기를 바랍니다. 궁금한 점이나 추가 설명이 필요한 부분이 있다면 언제든 댓글로 남겨주세요. 함께 성장하는 개발자 커뮤니티를 만들어갑시다!

해피 코딩! 🐍✨

댓글

💲 추천 글