# Шар бетонних об’єктів

Функції в цій главі є специфічними для певних типів об’єктів Python. Передавати їм об’єкт неправильного типу – не дуже гарна ідея; якщо ви отримуєте об’єкт із програми Python і не впевнені, що він має правильний тип, ви повинні спочатку виконати перевірку типу; наприклад, щоб перевірити, що об’єкт є словником, використовуйте `PyDict_Check()`. Глава структурована як «генеалогічне дерево» типів об’єктів Python.

Попередження

У той час як функції, описані в цій главі, ретельно перевіряють тип об’єктів, які передаються, багато з них не перевіряють `NULL`, який передається замість дійсного об’єкта. Дозвіл на передачу `NULL` може спричинити порушення доступу до пам’яті та негайне припинення роботи інтерпретатора.

## Фундаментальні об’єкти

У цьому розділі описано об’єкти типу Python і одиночний об’єкт `None`.

- Об’єкти типу
  - Створення типів, виділених у купі
    - Type slot IDs
  - Soft-deprecated API
- Об’єкт `None`

## Числові об’єкти

- Цілі об’єкти
  - Export API
  - PyLongWriter API
  - Deprecated API
- Логічні об’єкти
- Floating-Point Objects
  - Pack and Unpack functions
    - Pack functions
    - Unpack functions
- Об’єкти комплексних чисел
  - Комплексні числа як C структури

## Об’єкти послідовності

Загальні операції над об’єктами послідовності обговорювалися в попередньому розділі; у цьому розділі розглядаються конкретні типи об’єктів послідовності, властиві мові Python.

- Об’єкти Bytes
- PyBytesWriter
  - Create, Finish, Discard
  - High-level API
  - Getters
  - Low-level API
- Об’єкти байтового масиву
  - Макроси перевірки типу
  - Прямі функції API
  - Макроси
- Об’єкти та кодеки Unicode
  - Об’єкти Unicode
    - Тип Unicode
    - Властивості символів Unicode
    - Створення та доступ до рядків Unicode
    - Кодування мови
    - Кодування файлової системи
    - Підтримка wchar_t
  - Вбудовані кодеки
    - Загальні кодеки
    - Кодеки UTF-8
    - Кодеки UTF-32
    - Кодеки UTF-16
    - Кодеки UTF-7
    - Кодеки Unicode-Escape
    - Кодеки Raw-Unicode-Escape
    - Кодеки Latin-1
    - Кодеки ASCII
    - Кодеки карти символів
    - Кодеки MBCS для Windows
  - Методи та функції слота
  - PyUnicodeWriter
  - Deprecated API
- Кортежні об’єкти
- Структуруйте об’єкти послідовності
- Список об’єктів

## Контейнерні об’єкти

- Dictionary objects
  - Dictionary view objects
  - Frozen dictionary objects
  - Ordered dictionaries
- Набір об’єктів
  - Deprecated API

## Функціональні об’єкти

- Функціональні об’єкти
- Об’єкти методу екземпляра
- Об’єкти методу
- Об’єкти клітинки
- Об’єкти коду
- Code Object Flags
- Extra information

## Інші об’єкти

- File objects
  - Soft-deprecated API
- Об’єкти модуля
  - 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
  - Допоміжні функції
    - Module lookup (single-phase initialization)
- Ітератор об’єктів
  - Range Objects
  - Builtin Iterator Types
  - Other Iterator Objects
- Об’єкти-дескриптори
  - Built-in descriptors
- Об’єкти фрагментів
  - Еліпсис
- Об’єкти MemoryView
- Pickle buffer objects
- Слабкі довідкові об’єкти
- Капсули
- Sentinel objects
- Frame objects
  - Frame locals proxies
  - Legacy local variable APIs
  - Internal frames
- Генератор об’єктів
  - Asynchronous Generator Objects
  - Deprecated API
- Об’єкти співпрограми
- Об’єкти змінних контексту
- Об’єкти для підказки типу

## C API for extension modules

- Curses C API
- Internal data
- Об’єкти DateTime
- Internal data