Types de données
****************

The modules described in this chapter provide a variety of specialized
data types such as dates and times, fixed-type arrays, heap queues,
double-ended queues, and enumerations.

Python also provides some built-in data types, in particular, "dict",
"list", "set" and "frozenset", and "tuple".  The "str" class is used
to hold Unicode strings, and the "bytes" and "bytearray" classes are
used to hold binary data.

Les modules suivants sont documentés dans ce chapitre :

* "datetime" — Types de base pour la date et l'heure

  * Types disponibles

  * Objets "timedelta"

  * Objets "date"

  * Objets "datetime"

  * Objets "time"

  * Objets "tzinfo"

  * Objets "timezone"

  * Comportement de "strftime()" et "strptime()"

* "calendar" — Fonctions calendaires générales

* "collections" — Types de données de conteneurs

  * Objets "ChainMap"

    * Exemples et cas pratiques utilisant "ChainMap"

  * Objets "Counter"

  * Objets "deque"

    * Cas pratiques utilisant "deque"

  * Objets "defaultdict"

    * Exemples utilisant "defaultdict"

  * "namedtuple()": fonction de construction pour *n-uplets*
    (*tuples*) avec des champs nommés

  * Objets "OrderedDict"

    * Exemples et cas pratiques utilisant "OrderDict"

  * Objets "UserDict"

  * Objets "UserList"

  * Objets "UserString"

* "collections.abc" --- Classes de base abstraites pour les conteneurs

  * Classes de base abstraites de collections

* "heapq" — File de priorité basée sur un tas

  * Exemples simples

  * Notes d'implémentation de la file de priorité

  * Théorie

* "bisect" — Algorithme de bissection de listes

  * Chercher dans des listes triées

  * Autres Exemples

* "array" — Tableaux efficaces de valeurs numériques

* "weakref" --- Weak references

  * Objets à références faibles

  * Exemple

  * Finalizer Objects

  * Comparing finalizers with "__del__()" methods

* "types" --- Dynamic type creation and names for built-in types

  * Dynamic Type Creation

  * Standard Interpreter Types

  * Additional Utility Classes and Functions

  * Coroutine Utility Functions

* "copy" — Opérations de copie superficielle et récursive

* "pprint" — L’affichage élégant de données

  * Les Objets PrettyPrinter

  * Exemple

* "reprlib" --- Alternate "repr()" implementation

  * Repr Objects

  * Subclassing Repr Objects

* "enum" — Énumerations

  * Contenu du module

  * Création d'une *Enum*

  * Accès dynamique aux membres et à leurs attributs

  * Duplication de membres et de valeurs

  * Coercition d'unicité des valeurs d'une énumération

  * Valeurs automatiques

  * Itération

  * Comparaisons

  * Membres et attributs autorisés dans une énumération

  * Restrictions sur l'héritage

  * Sérialisation

  * API par fonction

  * Énumérations dérivées

    * IntEnum

    * IntFlag

    * Option

    * Autres

  * Exemples intéressants

    * Omettre les valeurs

      * Avec "auto"

      * Avec "object"

      * Avec une chaîne de caractères de description

      * Avec une méthode ad-hoc "__new__()"

    * OrderedEnum

    * DuplicateFreeEnum

    * Planet

    * TimePeriod

  * En quoi les *Enums* sont différentes ?

    * Classes *Enum*

    * Membres d'Enum (c.-à-d. instances)

    * Aspects approfondis

      * Noms de la forme "__dunder__" disponibles

      * Noms de la forme "_sunder_" disponibles

      * Type des membres de "Enum"

      * Valeur booléenne des classes "Enum" et de leurs membres

      * Classes "Enum" avec des méthodes

      * Combinaison de membres de "Flag"
