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

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

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

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

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

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

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

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

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

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

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

- Об’єкти Bytes
- Об’єкти байтового масиву
  - Макроси перевірки типу
  - Прямі функції 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
- Кортежні об’єкти
- Структуруйте об’єкти послідовності
- Список об’єктів

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

- Об’єкти словника
- Набір об’єктів

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

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

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

- Файлові об’єкти
- Об’єкти модуля
  - Ініціалізація модулів C
    - Однофазна ініціалізація
    - Багатофазова ініціалізація
    - Функції створення модулів низького рівня
    - Допоміжні функції
  - Пошук модуля
- Ітератор об’єктів
- Об’єкти-дескриптори
- Об’єкти фрагментів
  - Еліпсис
- Об’єкти MemoryView
- Слабкі довідкові об’єкти
- Капсули
- Frame Objects
  - Internal Frames
- Генератор об’єктів
- Об’єкти співпрограми
- Об’єкти змінних контексту
- Об’єкти DateTime
- Об’єкти для підказки типу