Contenido de la documentación de Python¶
- Qué hay de nuevo en Python
- Qué hay de nuevo en Python 3.11
- Resumen – Aspectos destacados de la versión
- Nuevas características
- Nuevas funciones relacionadas con las sugerencias de tipo
- Otros cambios de idioma
- Otros cambios en la implementación de CPython
- Nuevos Módulos
- Módulos mejorados
- asíncio
- contextlib
- clases de datos
- fecha y hora
- enumeración
- fcntl
- fracciones
- herramientas funcionales
- gzip
- hashlib
- IDLE y libre de inactividad
- inspeccionar
- lugar
- Inicio sesión
- Matemáticas
- operador
- sistema operativo
- rutalib
- re
- cerrar
- enchufe
- sqlite3
- cuerda
- sistema
- configuración del sistema
- archivo temporal
- enhebrar
- tiempo
- tkinter
- rastrear
- mecanografía
- unicodedata
- prueba de unidad
- venv
- advertencias
- archivo zip
- Optimizaciones
- CPython más rápido
- Cambios en el código de bytes de CPython
- Obsoleto
- Eliminación pendiente en Python 3.12
- Remoto
- Migración a Python 3.11
- Construir cambios
- Cambios en la API de C
- Notable Changes in 3.11.4
- Notable Changes in 3.11.5
- Notable changes in 3.11.10
- Qué hay de nuevo en Python 3.10
- Resumen: aspectos destacados de la versión
- Nuevas características
- Nuevas funciones relacionadas con las sugerencias de tipos
- Otros cambios de idioma
- Nuevos módulos
- Módulos mejorados
- asyncio
- argumentar
- formación
- asynchat, asyncore, smtpd
- base64
- bdb
- bisecar
- códecs
- colecciones.abc
- contextlib
- maldiciones
- clases de datos
- distutils
- doctest
- codificaciones
- enum
- entrada de archivo
- manipulador de faltas
- GC
- glob
- hashlib
- hmac
- IDLE e idlelib
- importlib.metadata
- inspeccionar
- itertools
- caché de línea
- os
- os.path
- Pathlib
- plataforma
- pprint
- py_compile
- pyclbr
- dejar de lado
- Estadísticas
- sitio
- enchufe
- ssl
- sqlite3
- sys
- _hilo
- enhebrar
- rastrear
- tipos
- mecanografía
- prueba de unidad
- urllib.parse
- xml
- zipimport
- Optimizaciones
- Obsoleto
- Eliminado
- Portar a Python 3.10
- Cambios en el código de bytes de CPython
- Construir cambios
- Cambios en la API de C
- Notable security feature in 3.10.7
- Notable security feature in 3.10.8
- Notable changes in 3.10.12
- Qué hay de nuevo en Python 3.9
- Resumen: aspectos destacados de la versión
- Debe verificar DeprecationWarning en su código
- Nuevas características
- Otros cambios de idioma
- Nuevos módulos
- Módulos mejorados
- ast
- asyncio
- compilar todo
- Futuros concurrentes
- maldiciones
- fecha y hora
- distutils
- fcntl
- ftplib
- GC
- hashlib
- http
- IDLE e idlelib
- imaplib
- importlib
- inspeccionar
- dirección IP
- Matemáticas
- multiprocesamiento
- nntplib
- os
- Pathlib
- pdb
- poplib
- pprint
- Pydoc
- aleatorio
- señal
- smtplib
- enchufe
- tiempo
- sys
- tracemalloc
- mecanografía
- unicodedata
- venv
- xml
- Optimizaciones
- Obsoleto
- Remoto
- Portar a Python 3.9
- Construir cambios
- Cambios en la API de C
- Cambios notables en Python 3.9.1
- Cambios notables en Python 3.9.2
- Notable changes in Python 3.9.3
- Notable changes in Python 3.9.5
- Notable security feature in 3.9.14
- Notable changes in 3.9.17
- Qué hay de nuevo en Python 3.8
- Resumen – Aspectos destacados de la versión
- Nuevas características
- Expresiones de asignación
- Parámetros solo posicionales
- Caché del sistema de archivos paralelo para archivos de bytecode compilados
- La compilación de depuración usa la misma ABI que la compilación de lanzamiento
- los f-strings soportan
=
para expresiones autodocumentadas y depuración - PEP 578: Ganchos de auditoría en tiempo de ejecución de Python
- PEP 587: Configuración de inicialización de Python
- PEP 590: Vectorcall: un protocolo de llamada rápida para CPython
- Protocolo 5 de Pickle con búferes de datos fuera de banda
- Otros cambios en el lenguaje
- Nuevos módulos
- Módulos mejorados
- ast
- asyncio
- builtins
- collections
- cProfile
- csv
- curses
- ctypes
- datetime
- functools
- gc
- gettext
- gzip
- IDLE e idlelib
- inspect
- io
- itertools
- json.tool
- logging
- math
- mmap
- multiprocessing
- os
- os.path
- pathlib
- pickle
- plistlib
- pprint
- py_compile
- shlex
- shutil
- socket
- ssl
- statistics
- sys
- tarfile
- threading
- tokenize
- tkinter
- time
- typing
- unicodedata
- unittest
- venv
- weakref
- xml
- xmlrpc
- Optimizaciones
- Cambios en la compilación y la API de C
- Obsoleto
- APIs y características eliminadas
- Portando a Python 3.8
- Cambios notables en Python 3.8.1
- Notable changes in Python 3.8.2
- Notable changes in Python 3.8.3
- Cambios notables en Python 3.8.8
- Notable changes in Python 3.8.9
- Notable changes in Python 3.8.10
- Notable changes in Python 3.8.10
- Cambios notables en Python 3.8.1
- Notable security feature in 3.8.14
- Notable changes in 3.8.17
- Qué hay de nuevo en Python 3.7
- Resumen – Lanzamientos Destacados
- Nuevas Características
- PEP 563: Evaluación pospuesta de anotaciones
- PEP 538: Coerción de configuración regional del Legado de C
- PEP 540: Modo de tiempo de ejecución UTF-8 forzado
- PEP 553: Incorporada en
breakpoint()
- PEP 539: Nueva API C para almacenamiento local de subprocesos
- PEP 562: Personalización del acceso a los atributos del módulo
- PEP 564: Nuevas funciones de tiempo con resolución de nanosegundos
- PEP 565: Mostrar DeprecationWarning en
__main__
- PEP 560: Soporte básico para el módulo de
typing
y tipos genéricos - PEP 552: Archivos .pyc basados en hash
- PEP 545: Traducciones de Documentaciones de Python
- Modo de desarrollo de Python (-X dev)
- Otros cambios en el lenguaje
- Nuevos módulos
- Módulos mejorados
- argparse
- asyncio
- binascii
- calendar
- collections
- compileall
- concurrent.futures
- contextlib
- cProfile
- crypt
- datetime
- dbm
- decimal
- dis
- distutils
- enum
- functools
- gc
- hmac
- http.client
- http.server
- idlelib and IDLE
- importlib
- io
- ipaddress
- itertools
- locale
- logging
- math
- mimetypes
- msilib
- multiprocessing
- os
- pathlib
- pdb
- py_compile
- pydoc
- queue
- re
- signal
- socket
- socketserver
- sqlite3
- ssl
- string
- subprocess
- sys
- time
- tkinter
- tracemalloc
- types
- unicodedata
- unittest
- unittest.mock
- urllib.parse
- uu
- uuid
- warnings
- xml
- xml.etree
- xmlrpc.server
- zipapp
- zipfile
- Cambios en la API C
- Construir cambios
- Optimizaciones
- Otros cambios de implementación de CPython
- Comportamiento obsoleto de Python
- Módulos, funciones y métodos de Python obsoletos
- Funciones y tipos obsoletos de la API C
- Eliminación de soporte de plataforma
- Eliminaciones de API y funciones
- Eliminaciones de módulos
- Cambios solo en Windows
- Portando a Python 3.7
- Cambios notables en Python 3.7.1
- Cambios notables en Python 3.7.2
- Cambios notables en Python 3.7.6
- Cambios notables en Python 3.7.10
- Notable changes in Python 3.7.11
- Notable security feature in 3.7.14
- Qué hay de nuevo en Python 3.6
- Resumen: aspectos destacados de la versión
- Nuevas características
- PEP 498: Literales de cadena formateados
- PEP 526: Sintaxis para anotaciones de variables
- PEP 515: subrayados en literales numéricos
- PEP 525: Generadores asíncronos
- PEP 530: Comprensiones asincrónicas
- PEP 487: personalización más sencilla de la creación de clases
- PEP 487: Mejoras en el protocolo descriptor
- PEP 519: Agregar un protocolo de ruta del sistema de archivos
- PEP 495: desambiguación de la hora local
- PEP 529: cambie la codificación del sistema de archivos de Windows a UTF-8
- PEP 528: cambie la codificación de la consola de Windows a UTF-8
- PEP 520: Conservación del orden de definición de atributos de clase
- PEP 468: Conservación del orden de los argumentos de las palabras clave
- Nueva implementación de dict
- PEP 523: Agregar una API de evaluación de marcos a CPython
- Variable de entorno PYTHONMALLOC
- Soporte de sondeo DTrace y SystemTap
- Otros cambios de idioma
- Nuevos módulos
- Módulos mejorados
- formación
- ast
- asyncio
- binascii
- cmath
- colecciones
- Futuros concurrentes
- contextlib
- fecha y hora
- decimal
- distutils
- codificaciones
- enumeración
- manipulador de faltas
- entrada de archivo
- hashlib
- http.client
- idlelib y IDLE
- importlib
- inspeccionar
- json
- Inicio sesión
- Matemáticas
- multiprocesamiento
- os
- Pathlib
- pdb
- pepinillo
- pepinillos
- Pydoc
- aleatorio
- re
- readline
- rlcompleter
- shlex
- sitio
- sqlite3
- enchufe
- servidor de sockets
- ssl
- Estadísticas
- estructura
- subproceso
- sys
- telnetlib
- tiempo
- cronométralo
- tkinter
- rastrear
- tracemalloc
- mecanografía
- unicodedata
- unittest.mock
- urllib.request
- urllib.robotparser
- venv
- advertencias
- winreg
- winsonido
- xmlrpc.client
- archivo zip
- zlib
- Optimizaciones
- Cambios en la API de Build y C
- Otras mejoras
- Obsoleto
- Remoto
- Portar a Python 3.6
- Cambios notables en Python 3.6.2
- Cambios notables en Python 3.6.4
- Cambios notables en Python 3.6.5
- Cambios notables en Python 3.6.7
- Cambios notables en Python 3.6.10
- Cambios notables en Python 3.6.13
- Notable changes in Python 3.6.14
- Qué hay de nuevo en Python 3.5
- Resumen – Aspectos destacados de la versión
- Nuevas características
- PEP 492 - Corrutinas con sintaxis async y await
- PEP 465 - Un operador infijo dedicado para la multiplicación de matrices
- PEP 448 - Generalizaciones de desembalaje adicionales
- PEP 461 - soporte de formateo porcentual para bytes y bytearray
- PEP 484 - Indicador de tipos
- PEP 471 - Función os.scandir() – un iterador de directorio mejor y más rápido
- PEP 475: Reintentar las llamadas al sistema que fallan con EINTR
- PEP 479: Cambiar el gestor de StopIteration dentro de generadores
- PEP 485: Una función para probar la igualdad aproximada
- PEP 486: Hacer que el launcher de Python sea consciente de los entornos virtuales
- PEP 488: Eliminación de archivos PYO
- PEP 489: Inicialización del módulo de extensión multifase
- Otros cambios en el lenguaje
- Nuevos módulos
- Módulos mejorados
- argparse
- asyncio
- bz2
- cgi
- cmath
- code
- collections
- collections.abc
- compileall
- concurrent.futures
- configparser
- contextlib
- csv
- curses
- dbm
- difflib
- distutils
- doctest
- enum
- faulthandler
- functools
- glob
- gzip
- heapq
- http
- http.client
- idlelib e IDLE
- imaplib
- imghdr
- importlib
- inspect
- io
- ipaddress
- json
- linecache
- locale
- logging
- lzma
- math
- multiprocessing
- operator
- os
- pathlib
- pickle
- poplib
- re
- readline
- selectors
- shutil
- signal
- smtpd
- smtplib
- sndhdr
- socket
- ssl
- sqlite3
- subprocess
- sys
- sysconfig
- tarfile
- threading
- time
- timeit
- tkinter
- traceback
- types
- unicodedata
- unittest
- unittest.mock
- urllib
- wsgiref
- xmlrpc
- xml.sax
- zipfile
- Otros cambios a nivel de módulo
- Optimizaciones
- Cambios en la compilación y la API de C
- Obsoleto
- Eliminado
- Portando a Python 3.5
- Cambios notables en Python 3.5.4
- Qué hay de nuevo en Python 3.4
- Resumen – Puntos destacados del lanzamiento
- Nuevas Funciones
- Nuevos Módulos
- Módulos mejorados
- abc
- aifc
- argparse
- audioop
- base64
- colecciones
- colorsys
- contextlib
- dbm
- dis
- doctest
- archivoecmp
- functools
- gc
- glob
- hashlib
- hmac
- html
- http
- idlelib y IDLE
- importlib
- inspeccionar
- dirección IP
- Tres mejoras más pequeñas en el módulo
logging
, todas implementadas por Vinay Sajip, son: - mariscal
- mmap
- multiprocesamiento
- PEP 465, un nuevo operador de multiplicación de matrices:
a @ b
. - os
- pdb
- pepinillo
- plistlib
- poplib
- pprint
- pty
- pydoc
- re
- recurso
- seleccionar
- estante
- shutil
- smtpd
- smtplib
- enchufe
- sqlite3
- ssl
- stat
- struct
- subproceso
- sunau
- sys
- tarfile
- textwrap
- roscado
- traceback
- tipos
- urllib
- unittest
- venv
- onda
- weakref
- xml.etree
- archivo zip
- Cambios en la implementación de CPython
- Obsoleto
- Removido
- Adaptación a Python 3.4
- Cambiado en 3.4.3
- Qué hay de nuevo en Python 3.3
- Resumen – Aspectos destacados de la versión
- PEP 405: Entornos virtuales
- PEP 420: Paquetes para espacios de nombres implícitos
- PEP 3118: Nueva implementación de vista de memoria y en la documentación del protocolo del buffer
- PEP 393: Representación flexible de cadenas de caracteres
- PEP 397: Lanzador de python para windows
- PEP 3151: Reelaborando de la jerarquía de excepciones de IO y OS
- PEP 380: Sintaxis para delegar en un subgenerador
- PEP 409: Suprimir el contexto de excepción
- PEP 414: Literales Unicode explícitos
- PEP 3155: Nombres calificados para clases y funciones
- PEP 412: Diccionario de intercambio de claves
- PEP 362: Objeto de firma de función
- PEP 421: Agregar sys.implementation
- Usar importlib como implementación de Import
- Otros cambios de idioma
- Un bloqueo de importación más detallado
- Funciones y tipos incorporados
- Nuevos módulos
- Módulos mejorados
- abc
- array
- base64
- binascii
- bz2
- códecs
- colecciones
- contextlib
- crypt
- curses
- datetime
- decimal
- ftplib
- functools
- gc
- hmac
- http
- html
- imaplib
- inspect
- io
- itertools
- logging
- math
- mmap
- multiprocesamiento
- nntplib
- os
- pdb
- pickle
- pydoc
- re
- sched
- select
- shlex
- shutil
- signal
- smtpd
- smtplib
- socket
- socketserver
- sqlite3
- ssl
- stat
- struct
- subprocess
- sys
- tarfile
- tempfile
- textwrap
- threading
- time
- types
- unittest
- urllib
- webbrowser
- xml.etree.ElementTree
- zlib
- Optimizaciones
- Construcción y cambios en la API de C
- Obsoleto
- Migración a Python 3.3
- Qué hay de nuevo en Python 3.2
- PEP 384: Definición de un ABI estable
- PEP 389: Módulo de análisis sintáctico (Parser) de línea de comandos Argparse
- PEP 391: Configuración basada en diccionario para Logging
- PEP 3148: El módulo
concurrent.futures
- PEP 3147: Directorios del repositorio de PYC
- PEP 3149: Archivos .so con etiquetado de versión para ABI
- PEP 3333: Interfaz de puerta de enlace del servidor web Python v1.0.1
- Otros cambios de lenguaje
- Módulos nuevos, mejorados y obsoletos
- elementtree
- functools
- itertools
- collections
- threading
- datetime and time
- math
- abc
- io
- reprlib
- logging
- csv
- contextlib
- decimal and fractions
- ftp
- popen
- select
- gzip y zipfile
- tarfile
- hashlib
- ast
- os
- shutil
- sqlite3
- html
- socket
- ssl
- nntp
- certificados
- imaplib
- http.client
- unittest
- random
- poplib
- asyncore
- tempfile
- inspect
- pydoc
- dis
- dbm
- ctypes
- site
- sysconfig
- pdb
- configparser
- urllib.parse
- mailbox
- turtledemo
- Multi-threading
- Optimizations
- Unicode
- Codecs
- Documentación
- IDLE
- Repositorio de código
- Cambios en la API de construcción y C
- Portar a Python 3.2
- Qué hay de nuevo en Python 3.1
- Qué hay de nuevo en Python 3.0
- Escollos comunes
- Descripción general de los cambios de sintaxis
- Cambios ya presentes en Python 2.6
- Cambios de biblioteca
- PEP 3101: Un nuevo enfoque al formateo de cadena de caracteres
- Cambios a excepciones
- Otros cambios diversos
- Construcción y cambios a la API de C
- Rendimiento
- Migración a Python 3.0
- Qué hay de nuevo en Python 2.7
- El futuro de Python 2.x
- Cambios en el manejo de las advertencias de desuso
- Características de Python 3.1
- PEP 372: Adición de un diccionario ordenado a las colecciones
- PEP 378: Especificador de formato para separador de miles
- PEP 389: El módulo argparse para el análisis de líneas de comando
- PEP 391: Configuración basada en diccionarios para el registro
- PEP 3106: Vistas de diccionario
- PEP 3137: El objeto memoryview
- Otros cambios de lenguaje
- Módulos nuevos y mejorados
- Cambios en la API de construcción y C
- Otros cambios y correcciones
- Adaptación a Python 2.7
- Nuevas funciones añadidas a las versiones de mantenimiento de Python 2.7
- Dos nuevas variables de entorno para el modo de depuración
- PEP 434: Excepción de mejora de IDLE para todas las ramas
- PEP 466: Mejoras en la seguridad de la red para Python 2.7
- PEP 477: Backport ensurepip (PEP 453) a Python 2.7
- PEP 476: Habilitar la verificación de certificados por defecto para los clientes http stdlib
- PEP 493: Herramientas de migración de verificación HTTPS para Python 2.7
- Nuevo objetivo de construcción
make regen-all
- Eliminación del objetivo de construcción
make touch
- Agradecimientos
- Qué hay de nuevo en Python 2.6
- Python 3.0
- Cambios en el proceso de desarrollo
- PEP 343: La sentencia “with”
- PEP 366: Importaciones relativas explícitas desde un módulo principal
- PEP 370: Directorio de
site-packages
por usuario - PEP 371: El paquete
multiprocessing
- PEP 3101: Formateo avanzado de cadena de caracteres
- PEP 3105:
print
como función - PEP 3110: Cambios en el manejo de excepciones
- PEP 3112: Literales de bytes
- PEP 3116: Nueva biblioteca de E/S
- PEP 3118: Protocolo revisado de la memoria intermedia
- PEP 3119: Clases base abstractas
- PEP 3127: Soporte y sintaxis de literales enteros
- PEP 3129: Decoradores de clase
- PEP 3141: Una jerarquía de tipos para los números
- Otros cambios lingüísticos
- Módulos nuevos y mejorados
- Cancelaciones y eliminaciones
- Cambios en la API de construcción y C
- Adaptación a Python 2.6
- Agradecimientos
- Qué hay de nuevo en Python 2.5
- PEP 308: Expresiones condicionales
- PEP 309: Aplicación parcial de funciones
- PEP 314: Metadatos para paquetes de software Python v1.1
- PEP 328: Importaciones absolutas y relativas
- PEP 338: Ejecutando Módulos como Scripts
- PEP 341: Try/except/finally unificados
- PEP 342: Nuevas funciones del generador
- PEP 343: La declaración «con
- PEP 352: Las excepciones como clases de nuevo estilo
- PEP 353: Uso de ssize_t como tipo de índice
- PEP 357: El método “__index__”
- Otros cambios lingüísticos
- Módulos nuevos, mejorados y eliminados
- Cambios en la API de construcción y C
- Adaptación a Python 2.5
- Agradecimientos
- Qué hay de nuevo en Python 2.4
- PEP 218: Objetos conjunto integrados
- PEP 237: Unificando enteros largos y enteros
- PEP 289: Expresiones generadoras
- PEP 292: Sustituciones simples de cadenas de caracteres
- PEP 318: Decoradores para funciones y métodos
- PEP 322: Iteración inversa
- PEP 324: Nuevo módulo de subproceso
- PEP 327: Tipo de dato decimal
- PEP 328: Importaciones multilínea
- PEP 331: Conversiones locales-independientes números flotantes/cadenas de texto
- Otros cambios en el lenguaje
- Módulos nuevos, mejorados y obsoletos
- Cambios en la API de Build y C
- Portar a Python 2.4
- Agradecimientos
- Qué hay de nuevo en Python 2.3
- PEP 218: Un tipo de datos de conjunto estándar
- PEP 255: Generadores simples
- PEP 263: Codificación del código fuente
- PEP 273: Importar módulos desde archivos ZIP
- PEP 277: Soporte de nombres de archivo Unicode para Windows NT
- PEP 278: Soporte universal de nuevas líneas
- PEP 279: enumerate()
- PEP 282: El paquete de registro
- PEP 285: Un tipo booleano
- PEP 293: Llamadas de retorno para el manejo de errores del códec
- PEP 301: Índice de paquetes y metadatos para Distutils
- PEP 302: Nuevos ganchos de importación
- PEP 305: Archivos separados por comas
- PEP 307: Mejoras en Pickle
- Rebanadas ampliadas
- Otros cambios en el lenguaje
- Módulos nuevos, mejorados y obsoletos
- Pymalloc: un asignador de objetos especializado
- Cambios en la API de Build y C
- Otros cambios y correcciones
- Portar a Python 2.3
- Agradecimientos
- Qué hay de nuevo en Python 2.2
- Introducción
- PEPs 252 y 253: Cambios de tipo y clase
- PEP 234: Iteradores
- PEP 255: Generadores simples
- PEP 237: Unificación de enteros largos y enteros
- PEP 238: Cambio del operador de división
- Cambios en Unicode
- PEP 227: Ámbitos anidados
- Módulos nuevos y mejorados
- Cambios y correcciones en el intérprete
- Otros cambios y correcciones
- Agradecimientos
- Qué hay de nuevo en Python 2.1
- Introducción
- PEP 227: Ámbitos anidados
- PEP 236: Directivas __future__
- PEP 207: Comparaciones Enriquecidas
- PEP 230: Marco de advertencia
- PEP 229: Sistema de construcción nuevo
- PEP 205: Referencias débiles
- PEP 232: Atributos de la función
- PEP 235: Importación de módulos en plataformas que no distinguen entre mayúsculas y minúsculas
- PEP 217: Gancho de pantalla interactivo
- PEP 208: Nuevo modelo de coerción
- PEP 241: Metadatos en paquetes de Python
- Módulos nuevos y mejorados
- Otros cambios y correcciones
- Agradecimientos
- Qué hay de nuevo en Python 2.0
- Introducción
- ¿Qué pasa con Python 1.6?
- Nuevo proceso de desarrollo
- Unicode
- Comprensión de listas
- Asignación aumentada
- Métodos de cadena de caracteres
- Recogida de basura de los ciclos
- Otros cambios en el núcleo
- Adaptación a la versión 2.0
- Extensión/Incorporación de cambios
- Distutils: Facilitando la instalación de módulos
- Módulos XML
- Cambios en los módulos
- Nuevos módulos
- Mejoras en IDLE
- Módulos eliminados y obsoletos
- Agradecimientos
- Registro de cambios
- Python 3.11.10 final
- Python 3.11.9 final
- Python 3.11.8 final
- Python 3.11.7 final
- Python 3.11.6 final
- Python 3.11.5 final
- Python 3.11.4 final
- Python 3.11.3 final
- Python 3.11.2 final
- Python 3.11.1 final
- Python 3.11.0 final
- Python 3.11.0 release candidate 2
- Python 3.11.0 release candidate 1
- Python 3.11.0 beta 5
- Python 3.11.0 beta 4
- Python 3.11.0 beta 3
- Python 3.11.0 beta 2
- Python 3.11.0 beta 1
- Python 3.11.0 alpha 7
- Python 3.11.0 alpha 6
- Python 3.11.0 alpha 5
- Python 3.11.0 alpha 4
- Python 3.11.0 alpha 3
- Python 3.11.0 alpha 2
- Python 3.11.0 alpha 1
- Python 3.10.0 beta 1
- Python 3.10.0 alpha 7
- Python 3.10.0 alpha 6
- Python 3.10.0 alpha 5
- Python 3.10.0 alpha 4
- Python 3.10.0 alpha 3
- Python 3.10.0 alpha 2
- Python 3.10.0 alpha 1
- Python 3.9.0 beta 1
- Python 3.9.0 alpha 6
- Python 3.9.0 alpha 5
- Python 3.9.0 alpha 4
- Python 3.9.0 alpha 3
- Python 3.9.0 alpha 2
- Python 3.9.0 alpha 1
- Python 3.8.0 beta 1
- Python 3.8.0 alpha 4
- Python 3.8.0 alpha 3
- Python 3.8.0 alpha 2
- Python 3.8.0 alpha 1
- Python 3.7.0 final
- Python 3.7.0 release candidate 1
- Python 3.7.0 beta 5
- Python 3.7.0 beta 4
- Python 3.7.0 beta 3
- Python 3.7.0 beta 2
- Python 3.7.0 beta 1
- Python 3.7.0 alpha 4
- Python 3.7.0 alpha 3
- Python 3.7.0 alpha 2
- Python 3.7.0 alpha 1
- Python 3.6.6 final
- Python 3.6.6 release candidate 1
- Python 3.6.5 final
- Python 3.6.5 release candidate 1
- Python 3.6.4 final
- Python 3.6.4 release candidate 1
- Python 3.6.3 final
- Python 3.6.3 release candidate 1
- Python 3.6.2 final
- Python 3.6.2 release candidate 2
- Python 3.6.2 release candidate 1
- Python 3.6.1 final
- Python 3.6.1 release candidate 1
- Python 3.6.0 final
- Python 3.6.0 release candidate 2
- Python 3.6.0 release candidate 1
- Python 3.6.0 beta 4
- Python 3.6.0 beta 3
- Python 3.6.0 beta 2
- Python 3.6.0 beta 1
- Python 3.6.0 alpha 4
- Python 3.6.0 alpha 3
- Python 3.6.0 alpha 2
- Python 3.6.0 alpha 1
- Python 3.5.5 final
- Python 3.5.5 release candidate 1
- Python 3.5.4 final
- Python 3.5.4 release candidate 1
- Python 3.5.3 final
- Python 3.5.3 release candidate 1
- Python 3.5.2 final
- Python 3.5.2 release candidate 1
- Python 3.5.1 final
- Python 3.5.1 release candidate 1
- Python 3.5.0 final
- Python 3.5.0 release candidate 4
- Python 3.5.0 release candidate 3
- Python 3.5.0 release candidate 2
- Python 3.5.0 release candidate 1
- Python 3.5.0 beta 4
- Python 3.5.0 beta 3
- Python 3.5.0 beta 2
- Python 3.5.0 beta 1
- Python 3.5.0 alpha 4
- Python 3.5.0 alpha 3
- Python 3.5.0 alpha 2
- Python 3.5.0 alpha 1
- Qué hay de nuevo en Python 3.11
- El tutorial de Python
- 1. Abriendo el apetito
- 2. Usando el intérprete de Python
- 3. Una introducción informal a Python
- 4. Más herramientas para control de flujo
- 4.1. La sentencia
if
- 4.2. La sentencia
for
- 4.3. La función
range()
- 4.4. Las sentencias
break
,continue
, yelse
en bucles - 4.5. La sentencia
pass
- 4.6. La sentencia
match
- 4.7. Definir funciones
- 4.8. Más sobre definición de funciones
- 4.9. Intermezzo: Estilo de programación
- 4.1. La sentencia
- 5. Estructuras de datos
- 6. Módulos
- 7. Entrada y salida
- 8. Errores y excepciones
- 8.1. Errores de sintaxis
- 8.2. Excepciones
- 8.3. Gestionando excepciones
- 8.4. Lanzando excepciones
- 8.5. Encadenamiento de excepciones
- 8.6. Excepciones definidas por el usuario
- 8.7. Definiendo acciones de limpieza
- 8.8. Acciones predefinidas de limpieza
- 8.9. Lanzando y gestionando múltiples excepciones no relacionadas
- 8.10. Enriqueciendo excepciones con notas
- 9. Clases
- 10. Pequeño paseo por la Biblioteca Estándar
- 10.1. Interfaz al sistema operativo
- 10.2. Comodines de archivos
- 10.3. Argumentos de linea de órdenes
- 10.4. Redirigir la salida de error y finalización del programa
- 10.5. Coincidencia en patrones de cadenas
- 10.6. Matemática
- 10.7. Acceso a Internet
- 10.8. Fechas y tiempos
- 10.9. Compresión de datos
- 10.10. Medición de rendimiento
- 10.11. Control de calidad
- 10.12. Las pilas incluidas
- 11. Pequeño paseo por la Biblioteca Estándar— Parte II
- 12. Entornos virtuales y paquetes
- 13. ¿Y ahora qué?
- 14. Edición de entrada interactiva y sustitución de historial
- 15. Aritmética de Punto Flotante: Problemas y Limitaciones
- 16. Apéndice
- Configuración y uso de Python
- 1. Línea de comandos y entorno
- 2. Uso de Python en plataformas Unix
- 3. Configurar Python
- 3.1. Configurar opciones
- 3.1.1. Opciones generales
- 3.1.2. Opciones de WebAssembly
- 3.1.3. Opciones de instalación
- 3.1.4. Opciones de desempeño
- 3.1.5. Compilación de depuración de Python
- 3.1.6. Opciones de depuración
- 3.1.7. Opciones del enlazador
- 3.1.8. Opciones de bibliotecas
- 3.1.9. Opciones de seguridad
- 3.1.10. Opciones macOS
- 3.1.11. Opciones de compilación cruzada
- 3.2. Sistema de compilación Python
- 3.3. Banderas de compilador y vinculación
- 3.1. Configurar opciones
- 4. Uso de Python en Windows
- 4.1. El instalador completo
- 4.2. El paquete Microsoft Store
- 4.3. El paquete de nuget.org
- 4.4. El paquete incrustable
- 4.5. Distribuciones alternativas
- 4.6. Configuración de Python
- 4.7. Modo UTF-8
- 4.8. Lanzador de Python para Windows
- 4.9. Encontrar módulos
- 4.10. Módulos adicionales
- 4.11. Compilar Python en Windows
- 4.12. Otras plataformas
- 5. Usando Python en un Mac
- 6. Editores e IDEs
- Referencia del Lenguaje Python
- 1. Introducción
- 2. Análisis léxico
- 3. Modelo de datos
- 3.1. Objetos, valores y tipos
- 3.2. Jerarquía de tipos estándar
- 3.2.1. None
- 3.2.2. NotImplemented
- 3.2.3. Elipsis
- 3.2.4.
numbers.Number
- 3.2.5. Secuencias
- 3.2.6. Tipos de conjuntos
- 3.2.7. Mapeos
- 3.2.8. Tipos invocables
- 3.2.9. Módulos
- 3.2.10. Clases personalizadas
- 3.2.11. Instancias de clase
- 3.2.12. Objetos E/S (también conocidos como objetos de archivo)
- 3.2.13. Tipos internos
- 3.3. Nombres especiales de método
- 3.3.1. Personalización básica
- 3.3.2. Personalizando acceso a atributos
- 3.3.3. Personalización de creación de clases
- 3.3.4. Personalizando revisiones de instancia y subclase
- 3.3.5. Emulando tipos genéricos
- 3.3.6. Emulando objetos que se pueden llamar
- 3.3.7. Emulando tipos de contenedores
- 3.3.8. Emulando tipos numéricos
- 3.3.9. Gestores de Contexto en la Declaración with
- 3.3.10. Personalización de argumentos posicionales en la coincidencia de patrones de clase
- 3.3.11. Búsqueda de método especial
- 3.4. Corrutinas
- 4. Modelo de ejecución
- 5. El sistema de importación
- 6. Expresiones
- 6.1. Conversiones aritméticas
- 6.2. Átomos
- 6.3. Primarios
- 6.4. Expresión await
- 6.5. El operador de potencia
- 6.6. Aritmética unaria y operaciones bit a bit
- 6.7. Operaciones aritméticas binarias
- 6.8. Operaciones de desplazamiento
- 6.9. Operaciones bit a bit binarias
- 6.10. Comparaciones
- 6.11. Operaciones booleanas
- 6.12. Expresiones de asignación
- 6.13. Expresiones condicionales
- 6.14. Lambdas
- 6.15. Listas de expresiones
- 6.16. Orden de evaluación
- 6.17. Prioridad de operador
- 7. Declaraciones simples
- 7.1. Declaraciones de tipo expresión
- 7.2. Declaraciones de asignación
- 7.3. La declaración
assert
- 7.4. La declaración
pass
- 7.5. La declaración
del
- 7.6. La declaración
return
- 7.7. La declaración
yield
- 7.8. La declaración
raise
- 7.9. La declaración
break
- 7.10. La declaración
continue
- 7.11. La declaración
import
- 7.12. La declaración
global
- 7.13. La declaración
nonlocal
- 8. Sentencias compuestas
- 9. Componentes de nivel superior
- 10. Especificación completa de la gramática
- La biblioteca estándar de Python
- Introducción
- Funciones Built-in
- Constantes incorporadas
- Tipos integrados
- Evaluar como valor verdadero/falso
- Operaciones booleanas —
and
,or
,not
- Comparaciones
- Tipos numéricos —
int
,float
,complex
- Tipos de iteradores
- Tipos secuencia —
list
,tuple
,range
- Cadenas de caracteres —
str
- Tipos de secuencias binarias —
bytes
,bytearray
ymemoryview
- Conjuntos —
set
,frozenset
- Tipos mapa —
dict
- Tipos gestores de contexto
- Tipos de anotaciones de type — alias genérico, Union
- Otros tipos predefinidos
- Atributos especiales
- Limitación de longitud de conversión de cadena de tipo entero
- Excepciones incorporadas
- Servicios de procesamiento de texto
string
— Operaciones comunes de cadena de caracteresre
— Operaciones con expresiones regularesdifflib
— Funciones auxiliares para calcular deltastextwrap
— Envoltura y relleno de textounicodedata
— Base de datos Unicodestringprep
— Preparación de cadenas de Internetreadline
— Interfaz readline de GNUrlcompleter
— Función de completado para GNU readline
- Servicios de datos binarios
struct
— Interpreta bytes como paquetes de datos binarioscodecs
— Registro de códec y clases base
- Tipos de datos
datetime
— Tipos básicos de fecha y horazoneinfo
— Soporte de zona horaria IANAcalendar
— Funciones generales relacionadas con el calendariocollections
— Tipos de datos contenedorcollections.abc
— Clases Base Abstractas para Contenedoresheapq
— Algoritmo de colas montículos (heap)bisect
— Algoritmo de bisección de arreglosarray
— Arreglos eficientes de valores numéricosweakref
— Referencias débilestypes
— Creación de tipos dinámicos y nombres para tipos integradoscopy
— Operaciones de copia superficial y profundapprint
— Impresión bonita de datosreprlib
— Implementaciónrepr()
alternativaenum
— Soporte para enumeracionesgraphlib
—Funcionalidad para operar con estructuras de tipo-grafo
- Módulos numéricos y matemáticos
numbers
— Clase base abstracta numéricamath
— Funciones matemáticascmath
– Función matemática para números complejosdecimal
— Aritmética decimal de coma fija y coma flotantefractions
— Números racionalesrandom
—Generar números pseudoaleatoriosstatistics
— Funciones de estadística matemática
- Módulos de programación funcional
- Acceso a archivos y directorios
pathlib
— Rutas de sistemas orientada a objetosos.path
— Manipulaciones comunes de nombre de rutafileinput
— Iterar sobre líneas de múltiples flujos de entradastat
— Interpretación de los resultados destat()
filecmp
— Comparaciones de Archivo y Directoriotempfile
— Generar archivos y directorios temporalesglob
— Expansión del patrón de nombres de ruta de estilo Unixfnmatch
— Coincidencia de patrones de nombre de archivos Unixlinecache
— Acceso aleatorio a líneas de textoshutil
— Operaciones de archivos de alto nivel
- Persistencia de datos
pickle
— Serialización de objetos Python- Relación con otros módulos de Python
- Formato de flujo de datos
- Interfaz del módulo
- ¿Qué se puede serializar (pickled) y deserializar (unpickled) con pickle?
- Pickling de Instancias de clases
- Reducción personalizada para tipos, funciones y otros objetos
- Búferes fuera de banda
- Restricción de globals
- Performance
- Ejemplos
copyreg
— Registrar funciones de soporte depickle
shelve
— Persistencia de objetos de Pythonmarshal
— Serialización interna de objetos Pythondbm
— Interfaces para «bases de datos» de Unixsqlite3
— DB-API 2.0 interfaz para bases de datos SQLite- Tutorial
- Referencia
- Guías prácticas
- Cómo usar marcadores de posición para vincular valores en consultas SQL
- Cómo adaptar tipos de Python personalizados a valores de SQLite
- Como convertir valores SQLite a tipos de Python personalizados
- Ejemplos para adaptadores y convertidores
- Cómo utilizar los métodos de acceso directo de conexión
- Como usar la conexión con un administrador de contexto
- Como trabajar con URIs SQLite
- How to create and use row factories
- How to handle non-UTF-8 text encodings
- Explicación
- Compresión de datos y archivado
- Formatos de archivo
- Servicios criptográficos
hashlib
— Hashes seguros y resúmenes de mensajeshmac
— Hash con clave para autenticación de mensajessecrets
— Genera números aleatorios seguros para trabajar con secretos criptográficos
- Servicios genéricos del sistema operativo
os
— Interfaces misceláneas del sistema operativo- Nombres de archivos, argumentos de la línea de comandos y variables de entorno
- Modo Python UTF-8
- Parámetros de proceso
- Creación de objetos de tipo archivo
- Operaciones de descriptores de archivos
- Archivos y directorios
- Gestión de proceso
- Interfaz al planificador
- Información miscelánea del sistema
- Números al azar
io
— Herramientas principales para trabajar con streamstime
— Acceso a tiempo y conversionesargparse
— Analizador sintáctico (Parser) para las opciones, argumentos y sub-comandos de la línea de comandosgetopt
— Analizador de estilo C para opciones de línea de comandologging
— Instalación de logging para Pythonlogging.config
— Configuración de registrologging.handlers
— Gestores de logginggetpass
— Entrada de contraseña portátilcurses
— Manejo de terminales para pantallas de celdas de caracterescurses.textpad
— Widget de entrada de texto para programas de cursescurses.ascii
— Utilidades para los caracteres ASCIIcurses.panel
— Una extensión de pila de panel para cursesplatform
— Acceso a los datos identificativos de la plataforma subyacenteerrno
— Símbolos estándar del sistema errnoctypes
— Una biblioteca de funciones foráneas para Python- tutorial de ctypes
- Carga de bibliotecas de enlaces dinámicos
- Acceder a las funciones de los dll cargados
- Funciones de llamada
- Tipos de datos fundamentales
- Funciones de llamada, continuación
- Calling variadic functions
- Funciones de llamada con sus propios tipos de datos personalizados
- Especificar los tipos de argumentos requeridos (prototipos de funciones)
- Tipos de retorno
- Pasar los punteros (o: pasar los parámetros por referencia)
- Estructuras y uniones
- Alineación de estructura/unión y orden de bytes
- Campos de bits en estructuras y uniones
- Arreglos
- Punteros
- Conversiones de tipos
- Tipos incompletos
- Funciones de retrollamadas (callback)
- Acceder a los valores exportados de los dlls
- Sorpresas
- Tipos de datos de tamaño variable
- referencia ctypes
- tutorial de ctypes
- Ejecución concurrente
threading
— Paralelismo basado en hilosmultiprocessing
— Paralelismo basado en procesos- Introducción
- Referencia
Process
y excepciones- Tuberías (Pipes) y Colas (Queues)
- Miscelánea
- Objetos de conexión Connection Objects
- Primitivas de sincronización (Synchronization primitives)
- Objetos compartidos
ctypes
- Administradores (Managers)
- Objetos Proxy (Proxy Objects)
- Piscinas de procesos (Process Pools)
- Oyentes y clientes (Listeners and Clients)
- Llaves de autentificación
- Logging
- El módulo
multiprocessing.dummy
- Pautas de programación
- Ejemplos
multiprocessing.shared_memory
— Shared memory for direct access across processes- The
concurrent
package concurrent.futures
— Lanzamiento de tareas paralelassubprocess
— Gestión de subprocesossched
— Eventos del planificadorqueue
— clase de cola sincronizadacontextvars
— Variables de Contexto_thread
— API de bajo nivel para manejo de hilos
- Comunicación en redes y entre procesos
asyncio
— E/S Asíncrona- Ejecutores
- Corrutinas y tareas
- Streams
- Primitivas de sincronización
- Sub-procesos
- Colas
- Excepciones
- Bucle de eventos
- Métodos del bucle de eventos
- Iniciar y para el bucle
- Programación de llamadas de retorno
- Planificando llamadas retardadas
- Creando futuros y tareas
- Abriendo conexiones de red
- Creando servidores de red
- Transfiriendo archivos
- Actualización de TLS
- Viendo descriptores de archivos
- Trabajar con objetos sockets directamente
- DNS
- Trabajando con tuberías
- Señales Unix
- Ejecutando código en un hilos o grupos de procesos
- API para manejo de errores
- Habilitando el modo depuración
- Ejecutando subprocesos
- Gestores de llamadas
- Objetos Servidor
- Implementaciones del bucle de eventos
- Examples
- Métodos del bucle de eventos
- Futures
- Transportes y protocolos
- Políticas
- Soporte de plataforma
- Extensión
- Índice de API de alto nivel
- Índice de API de bajo nivel
- Desarrollando con asyncio
socket
— interfaz de red de bajo nivelssl
—Empaquetador o wrapper TLS/SSL para objetos de tipo socketselect
— Esperando la finalización de E/Sselectors
— Multiplexación de E/S de alto nivelsignal
— Establece gestores para eventos asíncronosmmap
— Soporte de archivos mapeados en memoria
- Manejo de datos de internet
email
— Un paquete de manejo de correo electrónico y MIMEemail.message
: Representando un mensaje de correo electrónicoemail.parser
: Analizar mensajes de correo electrónicoemail.generator
: Generando documentos MIMEemail.policy
: Objetos Policyemail.errors
: Clases de excepción y defectoemail.headerregistry
: Objetos de encabezado personalizadosemail.contentmanager
: Gestión de contenido MIMEemail
: Ejemplosemail.message.Message
: Representar un mensaje de correo electrónico usando la APIcompat32
email.mime
: Creación de correo electrónico y objetos MIME desde ceroemail.header
: Cabeceras internacionalizadasemail.charset
: Representa conjunto de caracteresemail.encoders
: Codificadoresemail.utils
: Utilidades misceláneasemail.iterators
: Iteradores
json
— Codificador y decodificador JSONmailbox
— Manipular buzones de correo en varios formatosmimetypes
— Mapea nombres de archivo a tipos MIMEbase64
— Codificaciones de datos Base16, Base32, Base64, y Base85binascii
— Convertir entre binario y ASCIIquopri
— Codificar y decodificar datos MIME imprimibles entre comillas
- Herramientas Para Procesar Formatos de Marcado Estructurado
html
— Compatibilidad con el Lenguaje de marcado de hipertextohtml.parser
— Analizador simple de HTML y XHTMLhtml.entities
— Definiciones de entidades generales HTML- Módulos de procesamiento XML
xml.etree.ElementTree
— La API XML de ElementTreexml.dom
— El API del Modelo de Objetos del Documentoxml.dom.minidom
— Implementación mínima del DOMxml.dom.pulldom
— Soporte para la construcción parcial de árboles DOMXML.sax
— Soporte para analizadores SAX2xml.sax.handler
— Base classes for SAX handlersxml.sax.saxutils
— Utilidades SAXxml.sax.xmlreader
— Interfaz para analizadores XMLxml.parsers.expat
— Análisis rápido XML usando Expat
- Protocolos y soporte de Internet
webbrowser
— Controlador de navegador web convenientewsgiref
— Utilidades WSGI e implementación de referenciawsgiref.util
– Utilidades de entorno WSGIwsgiref.headers
– Herramientas para cabeceras de respuesta WSGIwsgiref.simple_server
– Un servidor HTTP WSGI simplewsgiref.validate
— Verificador de compatibilidad WSGIwsgiref.handlers
– Clases base servidor/gatewaywsgiref.types
— Tipos de WSGI para validadores estáticos de tipos- Ejemplos
urllib
— URL módulos de manipulaciónurllib.request
— Biblioteca extensible para abrir URLs- Objetos Request
- Objetos OpenerDirector
- Objetos BaseHandler
- Objetos HTTPRedirectHandler
- Objetos HTTPCookieProcessor
- Objetos ProxyHandler
- Objetos HTTPPasswordMgr
- Objetos HTTPPasswordMgrWithPriorAuth
- Objetos AbstractBasicAuthHandler
- Objetos HTTPBasicAuthHandler
- Objetos ProxyBasicAuthHandler
- Objetos AbstractDigestAuthHandler
- Objetos HTTPDigestAuthHandler
- Objetos ProxyDigestAuthHandler
- Objetos HTTPHandler
- Objetos HTTPSHandler
- Objetos FileHandler
- Objetos DataHandler
- Objetos FTPHandler
- Objetos CacheFTPHandler
- Objetos UnknownHandler
- Objetos HTTPErrorProcessor
- Ejemplos
- Interfaz heredada
- Restricciones
urllib.request
urllib.response
— Clases de respuesta usadas por urlliburllib.parse
— Analiza URL en componentesurllib.error
— Clases de excepción lanzadas por urllib.requesturllib.robotparser
— Analizador para robots.txthttp
— Módulos HTTPhttp.client
— Cliente de protocolo HTTPftplib
— cliente de protocolo FTPpoplib
— Cliente de protocolo POP3imaplib
— Protocolo del cliente IMAP4smtplib
— Cliente de protocolo SMTPuuid
— objetos UUID según RFC 4122socketserver
— Un framework para servidores de redhttp.server
— Servidores HTTPhttp.cookies
— Gestión del estado HTTPhttp.cookiejar
— Manejo de cookies para clientes HTTPxmlrpc
— XMLRPC server and client modulesxmlrpc.client
— acceso cliente XML-RPCxmlrpc.server
— Servidores básicos XML-RPCipaddress
— Biblioteca de manipulación IPv4 / IPv6
- Servicios Multimedia
- Internacionalización
- Frameworks de programa
turtle
— Gráficos con Turtle- Introducción
- Tutorial
- How to…
- Turtle graphics reference
- Métodos de RawTurtle/Turtle Y sus correspondientes funciones
- Métodos de TurtleScreen/Screen y sus correspondientes funciones
- Clases públicas
- Explanation
- Ayuda y configuración
turtledemo
— Scripts de demostración- Cambios desde Python 2.6
- Cambios desde Python 3.0
cmd
— Soporte para intérpretes orientados a línea de comandosshlex
— Análisis léxico simple
- Interfaces gráficas de usuario con Tk
tkinter
— Interface de Python para Tcl/Tktkinter.colorchooser
— Diálogo de elección de colortkinter.font
— Envoltorio de fuente Tkinter- Diálogos tkinter
tkinter.messagebox
— Indicadores de mensajes de Tkintertkinter.scrolledtext
— Widget de texto desplazadotkinter.dnd
— Soporte de arrastrar y soltartkinter.ttk
— Tk widgets temáticostkinter.tix
— Ampliación de widgets para Tk- IDLE
- Menús
- Menú de archivo (Shell y Editor)
- Menú editar (Shell y Editor)
- Menú de formato (solo ventana del Editor)
- Menú ejecutar (solo ventana Editor)
- Menú de shell (solo ventana de shell)
- Menú de depuración (solo ventana de shell)
- Menú de opciones (Shell y editor)
- Menú de ventana (shell y editor)
- Menú de ayuda (shell y editor)
- Menús contextuales
- Edición y navegación
- Inicio y ejecución de código
- Ayuda y preferencias
- idlelib
- Menús
- Herramientas de desarrollo
typing
— Soporte para type hints- PEPs relevantes
- Alias de tipo
- NewType
- Annotating callable objects
- Genéricos
- Annotating tuples
- The type of class objects
- Tipos genéricos definidos por el usuario
- El tipo
Any
- Subtipado nominal vs estructural
- Contenido del módulo
- Línea de tiempo de obsolescencia de características principales
pydoc
— Generador de documentación y Sistema de ayuda en línea- Modo de desarrollo de Python
doctest
– Prueba ejemplos interactivos de Pythonunittest
— Infraestructura de tests unitarios- Ejemplo sencillo
- Interfaz de línea de comandos
- Descubrimiento de pruebas
- Organización del código de pruebas
- Reutilización de código de prueba anterior
- Omitir tests y fallos esperados
- Distinguiendo iteraciones de tests empleando subtests
- Clases y funciones
- Instalaciones para clases y módulos
- Manejo de señales
unittest.mock
— Biblioteca de objetos simuladosunittest.mock
— primeros pasos- Usando mock
- Métodos de parcheo mock
- Mock de llamadas a métodos sobre un objeto
- Mocking Classes
- Nombrando tus mocks
- Siguiendo todas las llamadas
- Establecer valores de retorno y atributos
- Generar excepciones con mocks
- Funciones de efectos secundarios e iterables
- Iteradores asincrónicos de Mocking
- El gestor de contexto asincrónico de Mocking
- Creando un mock desde un objeto existente
- Using side_effect to return per file content
- Decoradores de Parches
- Otros ejemplos
- Mocking de llamadas encadenadas
- Mocking parcial
- Mocking de un método generador
- Aplicar el mismo parche a cada método de prueba
- Mocking de métodos sin enlazar
- Comprobación de varias llamadas con mock
- Copiando con argumentos mutables
- Anidando parches
- Mocking a un diccionario usando MagickMock
- Mock de subclases y sus atributos
- Importaciones de Mocking con patch.dict
- Seguimiento del orden de las llamadas y de las aserciones de llamadas menos detalladas
- Coincidencia de argumentos más compleja
- Usando mock
- 2to3 — Traducción automática de código de Python 2 a 3
test
— Paquete de pruebas de regresión para Pythontest.support
— Utilidades para el conjunto de pruebas de Pythontest.support.socket_helper
— Utilidades para pruebas de sockettest.support.script_helper
—Utilidades para las pruebas de ejecución de Pythontest.support.bytecode_helper
— Herramientas de apoyo para comprobar la correcta generación de bytecodetest.support.threading_helper
— Utilidades para pruebas con hilostest.support.os_helper
— Utilidades para pruebas de sistemas operativostest.support.import_helper
— Utilidades para pruebas de importacióntest.support.warnings_helper
— Utilidades para pruebas de advertencias
- Depuración y perfilado
- Tabla de auditoría de eventos
bdb
— Framework de depuraciónfaulthandler
— Volcar el rastreo de Pythonpdb
— El Depurador de Python- Los perfiladores de Python
timeit
— Mide el tiempo de ejecución de pequeños fragmentos de códigotrace
— Rastrear la ejecución de la declaración de Pythontracemalloc
— Rastrea la asignación de memoria
- Empaquetado y distribución de software
- Servicios en tiempo de ejecución de Python
sys
— Parámetros y funciones específicos del sistemasysconfig
— Proporciona acceso a la información de configuración de Pythonbuiltins
— Objetos incorporados__main__
— Entorno de código de nivel máximowarnings
— Control de advertenciasdataclasses
— Data Classescontextlib
— Utilidades para declaraciones de contextowith
abc
— Clases de Base Abstractaatexit
— Gestores de Salidatraceback
— Imprimir o recuperar un seguimiento de pila__future__
— Definiciones de declaraciones futurasgc
— Interfaz del recolector de basurainspect
— Inspeccionar objetos vivossite
— Enlace (hook) de configuración específico del sitio
- Intérpretes de Python personalizados
- Importando módulos
zipimport
— Importar módulos desde archivos zippkgutil
— Utilidad de extensión de paquetemodulefinder
— Buscar módulos usados por un scriptrunpy
— Localización y ejecución de módulos Pythonimportlib
— La implementación deimport
importlib.resources
– Package resource reading, opening and accessimportlib.resources.abc
– Clases base abstractas para recursosimportlib.metadata
– Accessing package metadata- La inicialización de la ruta de búsqueda de módulo de
sys.path
- Servicios del lenguaje Python
ast
— Árboles de sintaxis abstractasymtable
— Acceso a la tabla de símbolos del compiladortoken
— Constantes usadas con árboles de sintaxis de Pythonkeyword
— Pruebas para palabras clave en Pythontokenize
— Conversor a tokens para código Pythontabnanny
— Detección de indentación ambiguapyclbr
— Soporte para navegador de módulos Pythonpy_compile`
— Compila archivos fuente Pythoncompileall
— Bibliotecas de Python de compilación de bytesdis
— Desensamblador para bytecode de Pythonpickletools
— Herramientas para desarrolladores pickle
- Servicios Específicos para MS Windows
- Servicios específicos de Unix
posix
— Las llamadas más comunes al sistema POSIXpwd
— La base de datos de contraseñasgrp
— La base de datos de grupotermios
—Control tty estilo POSIXtty
— Funciones de control de terminalpty
— Utilidades para Pseudo-terminalfcntl
— Las llamadas a sistemafcntl
yioctl
resource
— Información sobre el uso de recursossyslog
— Rutinas de la biblioteca syslog de Unix
- Modules command-line interface (CLI)
- Módulos reemplazados
aifc
— Lee y escribe archivos AIFF y AIFCasynchat
— Gestor de comandos/respuestas en sockets asíncronosasyncore
— controlador de socket asincrónicoaudioop
— Manipula datos de audio sin procesarcgi
— Soporte de Interfaz de Entrada Común (CGI)cgitb
— Administrador traceback para scripts CGI.chunk
— Lee los datos de los trozos de IFFcrypt
— Función para verificar contraseñas Uniximghdr
— Determinar el tipo de imagenimp
— Acceda a import internamentemailcap
— Manejo de archivos Mailcapmsilib
— Leer y escribir archivos Microsoft Installernis
— Interfaz a Sun’s NIS (Páginas amarillas)nntplib
— Protocolo de cliente NNTPoptparse
— Analizador sintáctico (parser) para opciones de línea de comandos- Contexto
- Tutorial
- Guía de referencia
- Creando el analizador sintáctico (parser)
- Completando el analizador con opciones
- Definiendo las opciones
- Atributos de opción
- Acciones de opción estándares
- Tipos de opción estándares
- Analizando los argumentos
- Consultar y manipular el analizador de opciones
- Conflictos entre opciones
- Limpieza
- Otros métodos
- Retrollamadas de opción
- Definición de una opción con retrollamada
- Cómo son invocadas las retrollamadas
- Lanzando errores en una retrollamada
- Ejemplo de retrollamada 1: una retrollamada trivial
- Ejemplo de retrollamada 2: comprobar el orden de las opciones
- Ejemplo de retrollamada 3: comprobar el orden de las opciones (generalizado)
- Ejemplo de retrollamada 4: comprobar una condición arbitraria
- Ejemplo de retrollamada 5: argumentos fijos
- Ejemplo de retrollamada 6: argumentos variables
- Extendiendo el módulo
optparse
- Exceptions
ossaudiodev
— Acceso a dispositivos de audio compatibles con OSSpipes
— Interfaz para tuberías de shellsmtpd
— Servidor SMTPsndhdr
— Determinar el tipo de archivo de sonidospwd
— La base de datos de contraseñas ocultassunau
— Lectura y escritura de ficheros Sun AUtelnetlib
— cliente Telnetuu
— Codifica y decodifica archivos UUEncodexdrlib
— Codificar y decodificar datos XDR
- Consideraciones de seguridad
- Ampliación e incrustación del intérprete de Python
- Herramientas de terceros recomendadas
- Crear extensiones sin herramientas de terceros
- 1. Extendiendo Python con C o C++
- 1.1. Un ejemplo simple
- 1.2. Intermezzo: errores y excepciones
- 1.3. De vuelta al ejemplo
- 1.4. La tabla de métodos del módulo y la función de inicialización
- 1.5. Compilación y enlazamiento
- 1.6. Llamando funciones Python desde C
- 1.7. Extracción de parámetros en funciones de extensión
- 1.8. Parámetros de palabras clave para funciones de extensión
- 1.9. Construyendo valores arbitrarios
- 1.10. Conteo de referencias
- 1.11. Escribiendo extensiones en C++
- 1.12. Proporcionar una API C para un módulo de extensión
- 2. Definición de tipos de extensión: Tutorial
- 3. Definición de tipos de extensión: temas variados
- 4. Construyendo extensiones C y C++
- 5. Creación de extensiones C y C++ en Windows
- 1. Extendiendo Python con C o C++
- Incrustar el tiempo de ejecución de CPython en una aplicación más grande
- Manual de referencia de la API en C de Python
- Introducción
- Estabilidad de la API en C
- La capa de muy alto nivel
- Conteo de referencias
- Manejo de excepciones
- Utilidades
- Capa de objetos abstractos
- Capa de objetos concretos
- Objetos fundamentales
- Objetos numéricos
- Objetos de secuencia
- Objetos contenedor
- Objetos de función
- Otros objetos
- Objetos archivo
- Objetos módulo
- Objetos iteradores
- Objetos descriptores
- Objetos rebanada (slice)
- 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
- Inicialización, finalización e hilos
- Antes de la inicialización de Python
- Variables de configuración global
- Inicializando y finalizando el intérprete
- Parámetros de todo el proceso
- Estado del hilo y el bloqueo global del intérprete
- Soporte de subinterprete
- Notificaciones asincrónicas
- Perfilado y Rastreo
- Soporte avanzado del depurador
- Soporte de almacenamiento local de hilo
- Configuración de inicialización de Python
- Gestión de la memoria
- Visión general
- Dominios del asignador
- Interfaz de memoria sin procesar
- Interfaz de memoria
- Asignadores de objetos
- Asignadores de memoria predeterminados
- Personalizar asignadores de memoria
- Configurar enlaces para detectar errores en las funciones del asignador de memoria de Python
- El asignador pymalloc
- tracemalloc C API
- Ejemplos
- Soporte de implementación de objetos
- Asignación de objetos en el montículo
- Estructuras de objetos comunes
- Objetos tipo
- Estructuras de objetos de números
- Estructuras de objetos mapeo
- Estructuras de objetos secuencia
- Estructuras de objetos búfer
- Estructuras de objetos asíncronos
- Tipo Ranura typedefs
- Ejemplos
- Apoyo a la recolección de basura cíclica
- Versiones de API y ABI
- Instalando módulos de Python
- Comos (HOWTOs) de Python
- Portar módulos de extensión a Python 3
- Programación de curses con Python
- Guía práctica de uso de los descriptores
- Debugging C API extensions and CPython Internals with GDB
- HOWTO - Enum
- Acceso programático a los miembros de la enumeración y sus atributos
- Duplicar miembros y valores de enumeración
- Garantizar valores de enumeración únicos
- Uso de valores automáticos
- Iteración
- comparaciones
- Miembros permitidos y atributos de enumeraciones
- Subclases de Enum restringidas
- Serialización (Pickling)
- API funcional
- Enumeraciones derivadas
- Cuándo usar
__new__()
frente a__init__()
- How are Enums and Flags different?
- Enum Cookbook
- Subclase EnumType
- HOWTO - Programación funcional
- HOWTO hacer registros (Logging)
- Libro de recetas de Logging
- Usar logging en múltiples módulos
- Logging desde múltiples hilos
- Múltiples gestores y formateadores
- Logging en múltiples destinos
- Gestión personalizada de niveles
- Ejemplo de servidor de configuración
- Tratar con gestores que bloquean
- Enviar y recibir eventos logging a través de una red
- Agregar información contextual a su salida de logging
- Uso de
contextvars
- Impartir información contextual en los gestores
- Logging a un sólo archivo desde múltiples procesos
- Usando rotación de archivos
- Uso de estilos de formato alternativos
- Personalización de
LogRecord
- Subclassing QueueHandler and QueueListener- a ZeroMQ example
- Subclassing QueueHandler and QueueListener- a
pynng
example - Una configuración de ejemplo basada en diccionario
- Usar un rotador y un nombre para personalizar el procesamiento de rotación de log
- Un ejemplo de multiprocesamiento más elaborado
- Insertar BOM en mensajes enviados a SysLogHandler
- Implementar logging estructurado
- Personalización de gestores con
dictConfig()
- Usar estilos de formato particulares en toda su aplicación
- Configurar filtros con
dictConfig()
- Formato de excepción personalizado
- Mensajes de logging hablantes
- Almacenamiento en búfer de mensajes de logging y su salida condicional
- Enviando mensajes de logging al correo electrónico, con almacenamiento en búfer
- Formateo de horas usando UTC (GMT) a través de la configuración
- Usar un administrador de contexto para logging selectivo
- Una plantilla de inicio de aplicación CLI
- Una GUI de Qt para logging
- Logging en syslog con soporte RFC5424
- Cómo tratar un logger como una salida stream
- Patrones para evitar
- Otros recursos
- Expresiones regulares COMOS (HOWTO)
- HOW TO - Programación con sockets
- HOW TO - Ordenar
- CÓMO (HOWTO) Unicode
- HOWTO - Cómo obtener recursos de Internet con el paquete urllib
- Tutorial de argparse
- Introducción al modulo ipaddress
- Creando objetos Dirección/Red/Interfaz (Address/Network/Interface)
- Inspeccionando objetos Dirección/Red/Interfaz (Address/Network/Interface)
- Redes como listas de direcciones
- Comparaciones
- Uso de direcciones IP con otros módulos
- Obtener más detalles cuando se produce un error en la creación de instancias
- Instrumentación de CPython con DTrace y SystemTap
- Prácticas recomendadas para las anotaciones
- Acceder al diccionario de anotaciones de un objeto en las versiones de Python 3.10 y posteriores
- Acceder al diccionario de anotaciones de un objeto en las versiones de Python 3.9 y anteriores
- Desencadenamiento manual de anotaciones en cadena
- Prácticas recomendadas para
__annotations__
en cualquier versión de Python - Peculiaridades de
__annotations__
- Aislamiento de módulos de extensión
- ¿Quién debería leer esto?
- Trasfondo
- Cómo hacer que los módulos sean seguros con varios intérpretes
- Tipos Heap
- Problemas abiertos
- Preguntas más frecuentes de Python
- Preguntas frecuentes generales sobre Python
- Preguntas frecuentes de programación
- Preguntas frecuentes sobre diseño e historia
- ¿Por qué Python usa indentación para agrupar declaraciones?
- ¿Por qué obtengo resultados extraños con operaciones aritméticas simples?
- ¿Por qué los cálculos de punto flotante son tan inexactos?
- ¿Por qué las cadenas de caracteres de Python son inmutables?
- ¿Por qué debe usarse “self” explícitamente en las definiciones y llamadas de métodos?
- ¿Por qué no puedo usar una tarea en una expresión?
- ¿Por qué Python usa métodos para alguna funcionalidad (por ejemplo, list.index()) pero funciones para otra (por ejemplo, len(list))?
- ¿Por qué join() es un método de cadena de caracteres en lugar de un método de lista o tupla?
- ¿Qué tan rápido van las excepciones?
- ¿Por qué no hay un switch o una declaración case en Python?
- ¿No puede emular hilos en el intérprete en lugar de confiar en una implementación de hilos específica del sistema operativo?
- ¿Por qué las expresiones lambda no pueden contener sentencias?
- ¿Se puede compilar Python en código máquina, C o algún otro lenguaje?
- ¿Cómo gestiona Python la memoria?
- ¿Por qué CPython no utiliza un esquema de recolección de basura más tradicional?
- ¿Por qué no se libera toda la memoria cuando sale CPython?
- ¿Por qué hay tipos de datos separados de tuplas y listas?
- ¿Cómo se implementan las listas en Python?
- ¿Cómo se implementan los diccionarios en CPython?
- ¿Por qué las claves del diccionario deben ser inmutables?
- ¿Por qué list.sort() no retorna la lista ordenada?
- ¿Cómo se especifica y aplica una especificación de interfaz en Python?
- ¿Por qué no hay goto?
- ¿Por qué las cadenas de caracteres sin formato (r-strings) no pueden terminar con una barra diagonal inversa?
- ¿Por qué Python no tiene una declaración «with» para las asignaciones de atributos?
- ¿Por qué los generadores no admiten la declaración with?
- ¿Por qué se requieren dos puntos para las declaraciones if/while/def/class?
- ¿Por qué Python permite comas al final de las listas y tuplas?
- Preguntas frecuentes sobre bibliotecas y extensiones
- Extendiendo/Embebiendo FAQ
- ¿Puedo crear mis propias funciones en C?
- ¿Puedo crear mis propias funciones en C++?
- Escribir en C es difícil; ¿no hay otra alternativa?
- ¿Cómo puedo ejecutar declaraciones arbitrarias de Python desde C?
- ¿Cómo puedo evaluar una expresión arbitraria de Python desde C?
- ¿Cómo extraigo valores C de un objeto Python?
- ¿Cómo utilizo Py_BuildValue() para crear una tupla de un tamaño arbitrario?
- ¿Cómo puedo llamar un método de un objeto desde C?
- ¿Cómo obtengo la salida de PyErr_Print() (o cualquier cosa que se imprime a stdout/stderr)?
- ¿Cómo accedo al módulo escrito en Python desde C?
- ¿Cómo hago una interface a objetos C++ desde Python?
- He agregado un módulo usando el archivo de configuración y el make falla. ¿Porque?
- ¿Cómo puedo depurar una extensión?
- Quiero compilar un módulo Python en mi sistema Linux, pero me faltan algunos archivos . ¿Por qué?
- ¿Cómo digo «entrada incompleta» desde «entrada inválida»?
- ¿Cómo encuentro símbolos g++ __builtin_new o __pure_virtual?
- ¿Puedo crear una clase objeto con algunos métodos implementado en C y otros en Python (por ejemplo a través de la herencia)?
- Preguntas frecuentes sobre Python en Windows
- ¿Cómo ejecutar un programa Python en Windows?
- ¿Cómo hacer que los scripts de Python sean ejecutables?
- ¿Por qué Python tarda en comenzar?
- ¿Cómo hacer un ejecutable a partir de un script de Python?
- ¿Es un archivo
*.pyd
lo mismo que una DLL? - ¿Cómo puedo integrar Python en una aplicación de Windows?
- ¿Cómo puedo evitar que mi editor inserte pestañas en mi archivo fuente de Python?
- ¿Cómo verifico una pulsación de tecla sin bloquearla?
- ¿Cómo resuelvo el error de api-ms-win-crt-runtime-l1-1-0.dll no encontrado?
- Preguntas frecuentes sobre la Interfaz Gráfica de Usuario (GUI)
- «¿Por qué está Python instalado en mi ordenador?» FAQ
- Glosario
- Acerca de estos documentos
- Lidiar con errores
- Derechos de autor
- Historia y Licencia
- Historia del software
- Términos y condiciones para acceder o usar Python
- Licencias y reconocimientos para software incorporado
- Mersenne Twister
- Sockets
- Servicios de socket asincrónicos
- Gestión de cookies
- Seguimiento de ejecución
- funciones UUencode y UUdecode
- Llamadas a procedimientos remotos XML
- test_epoll
- Seleccionar kqueue
- SipHash24
- strtod y dtoa
- OpenSSL
- expat
- libffi
- zlib
- cfuhash
- libmpdec
- Conjunto de pruebas W3C C14N
- Audioop
- asyncio