IT용어위키



파이썬 나눗셈

파이썬 나눗셈(Python Division)은 파이썬에서 숫자를 나누는 연산을 의미하며, 다양한 연산자와 내장 함수를 제공한다. 기본적으로 파이썬에서는 정수 나눗셈과 실수 나눗셈을 구분하며, 나머지를 구하는 연산도 지원한다.

나눗셈 연산자

파이썬에서는 다음과 같은 연산자를 사용하여 나눗셈을 수행할 수 있다.

  • 실수 나눗셈 (`/`)
    • 두 수를 나눈 후 결과를 부동소수점(float) 값으로 반환한다.
    • 정수끼리 나누더라도 결과는 실수(`float`)로 나온다.
    • 예제:
print(10 / 3)  # 출력: 3.3333333333333335
print(10 / 2)  # 출력: 5.0
  • 정수 나눗셈 (`//`)
    • 몫만 반환하며, 결과는 정수(int) 또는 실수(float) 타입이 될 수 있다.
    • 예제:
print(10 // 3)  # 출력: 3
print(10 // 2)  # 출력: 5
print(10.5 // 2)  # 출력: 5.0
  • 나머지 연산 (`%`)
    • 나눗셈의 나머지를 반환한다.
    • 예제:
print(10 % 3)  # 출력: 1
print(10 % 2)  # 출력: 0
  • 몫과 나머지를 동시에 반환 (`divmod()`)
    • `divmod(a, b)` 함수는 (몫, 나머지) 형태의 튜플을 반환한다.
    • 예제:
print(divmod(10, 3))  # 출력: (3, 1)
print(divmod(20, 7))  # 출력: (2, 6)

나눗셈 연산자의 동작 방식

정수 나눗셈과 실수 나눗셈의 차이

  • `/` 연산자는 정수끼리 나누더라도 항상 float 결과를 반환한다.
  • `//` 연산자는 소수점을 버리고 정수만 반환한다.

예제:

a = 7
b = 2

print(a / b)   # 출력: 3.5  (실수 나눗셈)
print(a // b)  # 출력: 3    (정수 나눗셈)

음수 나눗셈

음수를 포함한 나눗셈에서는 결과가 다르게 나타날 수 있다.

예제:

print(-10 / 3)   # 출력: -3.3333333333333335
print(-10 // 3)  # 출력: -4
print(-10 % 3)   # 출력: 2  # 파이썬의 나머지 연산은 부호가 나눠지는 수와 다를 수 있음

정수 나눗셈(`//`)은 항상 내림(floor) 방향으로 반올림되므로, 음수에서는 절댓값이 더 큰 방향으로 결과가 나올 수 있다.

나눗셈 관련 예외 처리

0으로 나누기 (ZeroDivisionError)

0으로 나누는 경우 오류가 발생한다.

print(10 / 0)  # ZeroDivisionError: division by zero

이를 방지하려면 예외 처리를 사용해야 한다.

try:
    result = 10 / 0
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

부동소수점 오차

실수형 데이터를 나눌 때, 부동소수점 연산의 한계로 인해 정확한 결과가 나오지 않을 수 있다.

print(0.1 + 0.2)  # 출력: 0.30000000000000004

이런 문제를 해결하려면 `decimal` 또는 `fractions` 모듈을 사용할 수 있다.

나눗셈 관련 모듈

  • math 모듈
    • `math.floor()` : 내림 연산
    • `math.ceil()` : 올림 연산
    • `math.trunc()` : 소수점 이하 절삭

예제:

import math
print(math.floor(3.7))  # 출력: 3
print(math.ceil(3.7))   # 출력: 4
print(math.trunc(3.7))  # 출력: 3
  • decimal 모듈
    • 부동소수점 오차를 방지하고, 정확한 소수 계산을 수행하는 데 사용된다.

예제:

from decimal import Decimal

a = Decimal("0.1")
b = Decimal("0.2")
print(a + b)  # 출력: 0.3
  • fractions 모듈
    • 분수 형태로 연산을 수행할 수 있다.

예제:

from fractions import Fraction

a = Fraction(1, 3)
b = Fraction(2, 3)
print(a + b)  # 출력: 1

같이 보기

참고 문헌


  출처: IT위키(IT위키에서 최신 문서 보기)
  * 본 페이지는 공대위키에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 공대위키에서 확인하세요!