# Couche des objets concrets

Les fonctions de ce chapitre sont spécifiques à certains types d'objets Python. Leur donner un objet du mauvais type n'est pas une bonne idée, si vous recevez un objet d'un programme Python, et que vous n'êtes pas sûr qu'il soit du bon type, vous devez vérifier son type en premier. Par exemple, pour vérifier qu'un objet est un dictionnaire, utilisez `PyDict_Check()`. Ce chapitre est organisé comme un arbre généalogique de types d'objets Python.

Avertissement

Tandis que les fonctions décrites dans ce chapitre vérifient avec soin le type des objets qui leur sont passés, beaucoup d'entre elles ne vérifient pas que `NULL` est passé au lieu d'un objet valide. Autoriser `NULL` à être passé peut provoquer des violations d'accès à la mémoire et ainsi terminer immédiatement l'interpréteur.

## Objets fondamentaux

Cette section décrit les objets de type Python et l'objet singleton `None`.

- Objets type
  - Creating Heap-Allocated Types
    - Type slot IDs
  - Soft-deprecated API
- L'objet `None`

## Objets numériques

- Objets Integer
  - Export API
  - PyLongWriter API
  - Deprecated API
- Les objets booléens
- Floating-Point Objects
  - Pack and Unpack functions
    - Pack functions
    - Unpack functions
- Objets représentant des nombres complexes
  - Nombres complexes en tant que structures C

## Objets séquences

Les opérations génériques sur les objets séquences ont été discutées dans le chapitre précédent. Cette section traite des genres spécifiques d'objets séquences qui sont intrinsèques au langage Python.

- Objets bytes
- PyBytesWriter
  - Create, Finish, Discard
  - High-level API
  - Getters
  - Low-level API
- Objets tableau d'octets
  - Macros de vérification de type
  - Fonctions directes sur l'API
  - Macros
- Objets Unicode et Codecs
  - Objets Unicode
    - Type Unicode
    - Unicode Character Properties
    - Creating and accessing Unicode strings
    - Locale Encoding
    - File System Encoding
    - wchar_t Support
  - Built-in Codecs
    - Generic Codecs
    - UTF-8 Codecs
    - UTF-32 Codecs
    - UTF-16 Codecs
    - UTF-7 Codecs
    - Unicode-Escape Codecs
    - Raw-Unicode-Escape Codecs
    - Latin-1 Codecs
    - ASCII Codecs
    - Character Map Codecs
    - MBCS codecs for Windows
  - Methods and Slot Functions
  - PyUnicodeWriter
  - Deprecated API
- n-uplets
- Objets structure-séquence
- List Objects

## Objets conteneurs

- Dictionary objects
  - Dictionary view objects
  - Frozen dictionary objects
  - Ordered dictionaries
- Set Objects
  - Deprecated API

## Objets fonctions

- Objets fonction
- Instance Method Objects
- Objets méthode
- Objets Cellules
- Objets code
- Code Object Flags
- Extra information

## Autres objets

- File objects
  - Soft-deprecated API
- Module Objects
  - Module definition
    - Metadata slots
    - Feature slots
    - Creation and initialization slots
  - Module state
    - Slots for defining module state
    - Module token
  - Creating extension modules dynamically
  - Module definition struct
  - Support functions
    - Module lookup (single-phase initialization)
- Itérateurs
  - Range Objects
  - Builtin Iterator Types
  - Other Iterator Objects
- Les descripteurs
  - Built-in descriptors
- Slice Objects
  - Ellipsis Object
- Objets de type MemoryView
- Pickle buffer objects
- Objets à références faibles
- Capsules
- Sentinel objects
- Frame objects
  - Frame locals proxies
  - Legacy local variable APIs
  - Internal frames
- Objets générateur
  - Asynchronous Generator Objects
  - Deprecated API
- Objets coroutines
- Context Variables Objects
- Objects for Type Hinting

## C API for extension modules

- Curses C API
- Internal data
- Objets DateTime
- Internal data