# 9. Modules numériques et mathématiques

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.

Les modules suivants sont documentés dans ce chapitre :

- 9.1. `numbers` — Numeric abstract base classes
  - 9.1.1. The numeric tower
  - 9.1.2. Notes for type implementors
    - 9.1.2.1. Adding More Numeric ABCs
    - 9.1.2.2. Implementing the arithmetic operations
- 9.2. Fonctions mathématiques — `math`
  - 9.2.1. Fonctions arithmétiques et de représentation
  - 9.2.2. Fonctions logarithme et exponentielle
  - 9.2.3. Fonctions trigonométriques
  - 9.2.4. Conversion angulaire
  - 9.2.5. Fonctions hyperboliques
  - 9.2.6. Fonctions spéciales
  - 9.2.7. Constantes
- 9.3. Fonctions mathématiques pour nombres complexes — `cmath`
  - 9.3.1. Conversion vers et à partir de coordonnées polaires
  - 9.3.2. Fonctions logarithme et exponentielle
  - 9.3.3. Fonctions trigonométriques
  - 9.3.4. Fonctions hyperboliques
  - 9.3.5. Fonctions de classifications
  - 9.3.6. Constantes
- 9.4. `decimal` — Arithmétique décimale en virgule fixe et flottante
  - 9.4.1. Introduction pratique
  - 9.4.2. Les objets Decimal
    - 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. Cas pratiques
  - 9.4.8. FAQ decimal
- 9.5. `fractions` — Nombres rationnels
- 9.6. `random` — Generate pseudo-random numbers
- 9.7. `itertools` — Fonctions créant des itérateurs pour boucler efficacement.
  - 9.7.1. Fonctions d”itertool
  - 9.7.2. Cas pratiques
- 9.8. `functools` — Fonctions de haut niveau et opérations sur des objets appelables
  - 9.8.1. Objets `partial`
- 9.9. `operator` — Standard operators as functions
  - 9.9.1. Mapping Operators to Functions