# 9. 숫자와 수학 모듈

The modules described in this chapter provide numeric and math-related functions and data types. The `numbers` module defines an abstract hierarchy of numeric types. The `math` and `cmath` modules contain various mathematical functions for floating-point and complex numbers. For users more interested in decimal accuracy than in speed, the `decimal` module supports exact representations of decimal numbers.

이 장에는 다음과 같은 모듈이 설명되어 있습니다:

- 9.1. `numbers` — 숫자 추상 베이스 클래스
  - 9.1.1. 숫자 계층
  - 9.1.2. 형 구현을 위한 주의 사항
    - 9.1.2.1. 더 많은 숫자 추상 베이스 클래스(ABC) 추가
    - 9.1.2.2. 산술 연산 구현
- 9.2. `math` — Mathematical functions
  - 9.2.1. Number-theoretic and representation functions
  - 9.2.2. Power and logarithmic functions
  - 9.2.3. Trigonometric functions
  - 9.2.4. Angular conversion
  - 9.2.5. Hyperbolic functions
  - 9.2.6. Special functions
  - 9.2.7. Constants
- 9.3. `cmath` — Mathematical functions for complex numbers
  - 9.3.1. Conversions to and from polar coordinates
  - 9.3.2. Power and logarithmic functions
  - 9.3.3. Trigonometric functions
  - 9.3.4. Hyperbolic functions
  - 9.3.5. Classification functions
  - 9.3.6. Constants
- 9.4. `decimal` — Decimal fixed point and floating point arithmetic
  - 9.4.1. Quick-start Tutorial
  - 9.4.2. Decimal objects
    - 9.4.2.1. Logical operands
  - 9.4.3. Context objects
  - 9.4.4. Signals
  - 9.4.5. Floating Point Notes
    - 9.4.5.1. Mitigating round-off error with increased precision
    - 9.4.5.2. Special values
  - 9.4.6. Working with threads
  - 9.4.7. Recipes
  - 9.4.8. Decimal FAQ
- 9.5. `fractions` — Rational numbers
- 9.6. `random` — Generate pseudo-random numbers
- 9.7. `itertools` — Functions creating iterators for efficient looping
  - 9.7.1. Itertool functions
  - 9.7.2. Recipes
- 9.8. `functools` — Higher-order functions and operations on callable objects
  - 9.8.1. `partial` Objects
- 9.9. `operator` — Standard operators as functions
  - 9.9.1. Mapping Operators to Functions