# Capa de objetos concretos

Las funciones de este capítulo son específicas de ciertos tipos de objetos de Python. Pasarles un objeto del tipo incorrecto no es una buena idea; si recibe un objeto de un programa Python y no está seguro de que tenga el tipo correcto, primero debe realizar una verificación de tipo; por ejemplo, para verificar que un objeto es un diccionario, utilice `PyDict_Check()`. El capítulo está estructurado como el «árbol genealógico» de los tipos de objetos Python.

Advertencia

Si bien las funciones descritas en este capítulo verifican cuidadosamente el tipo de objetos que se pasan, muchos de ellos no verifican si se pasa `NULL` en lugar de un objeto válido. Permitir que se pase `NULL` puede causar violaciones de acceso a la memoria y la terminación inmediata del intérprete.

## Objetos fundamentales

Esta sección describe los objetos de tipo Python y el objeto singleton `None`.

- Objetos tipo
  - Crear tipos asignados en montículo (heap)
- El objeto `None`

## Objetos numéricos

- Objetos enteros
- Objetos booleanos
- Objetos de punto flotante
  - Funciones de empaquetado y desempaquetado
    - Funciones de Empaquetado
    - Funciones de Desempaquetado
- Objetos de números complejos
  - Números complejos como estructuras C
  - Números complejos como objetos de Python

## Objetos de secuencia

Las operaciones genéricas en los objetos de secuencia se discutieron en el capítulo anterior; Esta sección trata sobre los tipos específicos de objetos de secuencia que son intrínsecos al lenguaje Python.

- Objetos bytes
- Objetos de arreglos de bytes (bytearrays)
  - Macros de verificación de tipos
  - Funciones API directas
  - Macros
- Objetos y códecs unicode
  - Objetos unicode
    - Tipo unicode
    - Propiedades de caracteres Unicode
    - Creando y accediendo a cadenas de caracteres Unicode
    - APIs de Py_UNICODE deprecadas
    - Codificación regional
    - Codificación del sistema de archivos
    - soporte wchar_t
  - Códecs incorporados
    - Códecs genéricos
    - Códecs UTF-8
    - Códecs UTF-32
    - Códecs UTF-16
    - Códecs UTF-7
    - Códecs Unicode escapado
    - Códecs para Unicode escapado en bruto
    - Códecs Latin-1
    - Códecs ASCII
    - Códecs de mapa de caracteres
    - Códecs MBCS para Windows
    - Métodos & Ranuras (Slots)
  - Métodos y funciones de ranura (Slot)
- Objetos tupla
- Objetos de secuencia de estructura
- Objetos lista

## Objetos contenedor

- Objetos diccionario
- Objetos conjunto

## Objetos de función

- Objetos función
- Objetos de método de instancia
- Objetos método
- Objetos celda
- Objetos código

## Otros objetos

- Objetos archivo
- Objetos módulo
  - Inicializando módulos en C
    - Inicialización monofásica
    - Inicialización multifase
    - Funciones de creación de módulos de bajo nivel
    - Funciones de soporte
  - Búsqueda de módulos
- Objetos iteradores
- Objetos descriptores
- Objetos rebanada (slice)
  - Objeto elipsis
- Objetos de vista de memoria (MemoryView)
- Objetos de referencia débil
- Cápsulas
- Objetos frame
- Objetos generadores
- Objetos corrutina
- Objetos de variables de contexto
- Objetos DateTime
- Objetos para indicaciones de tipado