Contenido de la documentación de Python¶
- Qué hay de nuevo en Python
- What’s New In Python 3.9
- Summary – Release highlights
- You should check for DeprecationWarning in your code
- New Features
- Other Language Changes
- New Modules
- Improved Modules
- ast
- asyncio
- compileall
- concurrent.futures
- curses
- datetime
- distutils
- fcntl
- ftplib
- gc
- hashlib
- http
- IDLE and idlelib
- imaplib
- importlib
- inspect
- ipaddress
- math
- multiprocessing
- nntplib
- os
- pathlib
- pdb
- poplib
- pprint
- pydoc
- random
- signal
- smtplib
- socket
- time
- sys
- tempfile
- tracemalloc
- typing
- unicodedata
- venv
- xml
- Optimizations
- Deprecated
- Removed
- Porting to Python 3.9
- Build Changes
- C API Changes
- Notable changes in Python 3.9.1
- Notable changes in 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
- Notable changes in 3.9.20
- 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
- Cambios notables en Python 3.8.8
- Notable changes in Python 3.8.12
- Que 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.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
- What’s New In Python 3.6
- Summary – Release highlights
- New Features
- PEP 498: Formatted string literals
- PEP 526: Syntax for variable annotations
- PEP 515: Underscores in Numeric Literals
- PEP 525: Asynchronous Generators
- PEP 530: Asynchronous Comprehensions
- PEP 487: Simpler customization of class creation
- PEP 487: Descriptor Protocol Enhancements
- PEP 519: Adding a file system path protocol
- PEP 495: Local Time Disambiguation
- PEP 529: Change Windows filesystem encoding to UTF-8
- PEP 528: Change Windows console encoding to UTF-8
- PEP 520: Preserving Class Attribute Definition Order
- PEP 468: Preserving Keyword Argument Order
- New dict implementation
- PEP 523: Adding a frame evaluation API to CPython
- PYTHONMALLOC environment variable
- DTrace and SystemTap probing support
- Other Language Changes
- New Modules
- Improved Modules
- array
- ast
- asyncio
- binascii
- cmath
- collections
- concurrent.futures
- contextlib
- datetime
- decimal
- distutils
- encodings
- enum
- faulthandler
- fileinput
- hashlib
- http.client
- idlelib and IDLE
- importlib
- inspect
- json
- logging
- math
- multiprocessing
- os
- pathlib
- pdb
- pickle
- pickletools
- pydoc
- random
- re
- readline
- rlcompleter
- shlex
- site
- sqlite3
- socket
- socketserver
- ssl
- statistics
- struct
- subprocess
- sys
- telnetlib
- time
- timeit
- tkinter
- traceback
- tracemalloc
- typing
- unicodedata
- unittest.mock
- urllib.request
- urllib.robotparser
- venv
- warnings
- winreg
- winsound
- xmlrpc.client
- zipfile
- zlib
- Optimizations
- Build and C API Changes
- Other Improvements
- Deprecated
- Removed
- Porting to Python 3.6
- Notable changes in Python 3.6.2
- Notable changes in Python 3.6.4
- Notable changes in Python 3.6.5
- Notable changes in Python 3.6.7
- Notable changes in Python 3.6.10
- Notable changes in Python 3.6.13
- 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
- What’s New In Python 3.4
- Summary – Release Highlights
- New Features
- New Modules
- Improved Modules
- abc
- aifc
- argparse
- audioop
- base64
- collections
- colorsys
- contextlib
- dbm
- dis
- doctest
- filecmp
- functools
- gc
- glob
- hashlib
- hmac
- html
- http
- idlelib and IDLE
- importlib
- inspect
- ipaddress
- logging
- marshal
- mmap
- multiprocessing
- operator
- os
- pdb
- pickle
- plistlib
- poplib
- pprint
- pty
- pydoc
- re
- resource
- select
- shelve
- shutil
- smtpd
- smtplib
- socket
- sqlite3
- ssl
- stat
- struct
- subprocess
- sunau
- sys
- tarfile
- textwrap
- threading
- traceback
- types
- urllib
- unittest
- venv
- wave
- weakref
- xml.etree
- zipfile
- CPython Implementation Changes
- Deprecated
- Removed
- Porting to Python 3.4
- Changed in 3.4.3
- Que novedades hay 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
- New and Improved Modules
- Build and C API Changes
- Other Changes and Fixes
- Porting to Python 2.7
- New Features Added to Python 2.7 Maintenance Releases
- Two new environment variables for debug mode
- PEP 434: IDLE Enhancement Exception for All Branches
- PEP 466: Network Security Enhancements for Python 2.7
- PEP 477: Backport ensurepip (PEP 453) to Python 2.7
- PEP 476: Enabling certificate verification by default for stdlib http clients
- PEP 493: HTTPS verification migration tools for Python 2.7
- New
make regen-all
build target - Removal of
make touch
build target
- Acknowledgements
- 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
As a Function - PEP 3110: Exception-Handling Changes
- PEP 3112: Byte Literals
- PEP 3116: New I/O Library
- PEP 3118: Revised Buffer Protocol
- PEP 3119: Abstract Base Classes
- PEP 3127: Integer Literal Support and Syntax
- PEP 3129: Class Decorators
- PEP 3141: A Type Hierarchy for Numbers
- Other Language Changes
- New and Improved Modules
- Deprecations and Removals
- Build and C API Changes
- Porting to Python 2.6
- Agradecimientos
- Novedades de 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
- What’s New in Python 2.4
- PEP 218: Built-In Set Objects
- PEP 237: Unifying Long Integers and Integers
- PEP 289: Generator Expressions
- PEP 292: Simpler String Substitutions
- PEP 318: Decorators for Functions and Methods
- PEP 322: Reverse Iteration
- PEP 324: New subprocess Module
- PEP 327: Decimal Data Type
- PEP 328: Multi-line Imports
- PEP 331: Locale-Independent Float/String Conversions
- Other Language Changes
- New, Improved, and Deprecated Modules
- Build and C API Changes
- Porting to Python 2.4
- Acknowledgements
- 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: A Specialized Object Allocator
- Build and C API Changes
- Other Changes and Fixes
- Porting to Python 2.3
- Acknowledgements
- 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
- Novedades de 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
- Novedades de 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
- Changelog
- Python 3.9.20 final
- Python 3.9.19 final
- Python 3.9.18 final
- Python 3.9.17 final
- Python 3.9.16 final
- Python 3.9.15 final
- Python 3.9.14 final
- Python 3.9.13 final
- Python 3.9.12 final
- Python 3.9.11 final
- Python 3.9.10 final
- Python 3.9.9 final
- Python 3.9.8 final
- Python 3.9.7 final
- Python 3.9.6 final
- Python 3.9.5 final
- Python 3.9.4 final
- Python 3.9.3 final
- Python 3.9.2 final
- Python 3.9.2 release candidate 1
- Python 3.9.1 final
- Python 3.9.1 release candidate 1
- Python 3.9.0 final
- Python 3.9.0 release candidate 2
- Python 3.9.0 release candidate 1
- Python 3.9.0 beta 5
- Python 3.9.0 beta 4
- Python 3.9.0 beta 3
- Python 3.9.0 beta 2
- 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
- What’s New In Python 3.9
- 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. Definiendo funciones
- 4.7. Más sobre definición de funciones
- 4.8. Intermezzo: Estilo de codificación
- 4.1. La sentencia
- 5. Estructuras de datos
- 6. Módulos
- 7. Entrada y salida
- 8. Errores y excepciones
- 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. Uso de Python en Windows
- 3.1. El instalador completo
- 3.2. El paquete Microsoft Store
- 3.3. El paquete de nuget.org
- 3.4. El paquete incrustable
- 3.5. Distribuciones alternativas
- 3.6. Configuración de Python
- 3.7. Modo UTF-8
- 3.8. Lanzador de Python para Windows
- 3.9. Encontrar módulos
- 3.10. Módulos adicionales
- 3.11. Compilar Python en Windows
- 3.12. Otras plataformas
- 4. Using Python on a Mac
- 5. 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.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. 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
- Tipo Alias Genérico
- Otros tipos predefinidos
- Atributos especiales
- Integer string conversion length limitation
- 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 enumeraciones- Contenido del Módulo
- Creando un Enum
- Acceso programático a los miembros de la enumeración y sus atributos
- Duplicando miembros y valores enum
- Garantizando valores de enumeración únicos
- Usando valores automáticos
- Iteración
- Comparaciones
- Miembros permitidos y atributos de enumeraciones
- Subclases restringidas de Enum
- Serialización
- API Funcional
- Enumeraciones derivadas
- Cuándo usar
__new__()
contra__init__()
- Ejemplos interesantes
- ¿Cómo son diferentes las Enums?
graphlib
— Functionality to operate with graph-like structures
- 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
— Object-oriented filesystem pathsos.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
- Compresión de datos y archivado
- Formatos de archivo
- Servicios Criptográficos
- Servicios genéricos del sistema operativo
os
— Interfaces misceláneas del sistema operativoio
— Herramientas principales para trabajar con streamstime
— Tiempo de acceso 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
- 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
— Proporciona memoria compartida para acceso directo a través de procesos- El paquete
concurrent
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- 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
- Í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 Base85binhex
— Codificar y decodificar archivos binhex4binascii
— 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
— Clases base para los handlers SAXxml.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
— Cómodo controlador de navegador webwsgiref
— Utilidades WSGI e implementación de referenciaurllib
— 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
— Módulos XMLRPC para cliente y servidorxmlrpc.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
- Reseña de los métodos disponibles para Turtle y Screen
- Métodos de RawTurtle/Turtle Y sus correspondientes funciones
- Métodos de TurtleScreen/Screen y sus correspondientes funciones
- Clases públicas
- 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
- Menús
- Herramientas de desarrollo
typing
— Soporte para type hints- Relevant PEPs
- Alias de tipo
- NewType
- Callable
- Genéricos
- Tipos genéricos definidos por el usuario
- El tipo
Any
- Subtipado nominal vs estructural
- Contenido del módulo
pydoc
— Generador de documentación y Sistema de ayuda en línea- Modo de desarrollo de Python
- Efectos del modo de desarrollo de Python
- Ejemplo de ResourceWarning
- Ejemplo de error de descriptor de archivo incorrecto
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
- Clases Mocking
- 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
- 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 de código 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 bytecode
- 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 script del nivel superiorwarnings
— Control de advertenciasdataclasses
— Clases de datoscontextlib
— 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
- Usando importlib.metadata
- Servicios del lenguaje Python
parser
— Acceder a árboles de análisis sintáctico de Pythonast
— Árboles de sintaxis abstractasymtable
— Acceso a la tabla de símbolos del compiladorsymbol
— Constantes utilizadas con árboles de análisis de Pythontoken
— 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 varios
- 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
- 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 Unix- :mod:”imghdr” — Determinar el tipo de imagen
imp
— 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
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
- Security Considerations
- 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
- Interfaz binaria de aplicación estable
- 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
- Objectos Modulo
- Objetos iteradores
- Objetos descriptores
- Objeto rebanada (slice)
- Objeto Elipsis
- Objetos de vista de memoria (MemoryView)
- Objetos de referencia débil
- Cápsulas
- Objetos Generadores
- Objetos corrutina
- Objetos de variables de contexto
- Objetos DateTime
- Objects for Type Hinting
- 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
- 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
- Distribuir módulos de Python
- Instalando módulos de Python
- Comos (HOWTOs) de Python
- Portando código de Python 2 a Python 3
- La breve explicación
- Detalles
- Compatibilidad con Python 2.6 y versiones anteriores
- Asegúrese de especificar el soporte de versión adecuado en su archivo
setup.py
- Tener una buena cobertura de prueba
- Aprende las diferencias entre Python 2 & 3
- Actualiza tu código
- Evitar regresiones de compatibilidad
- Compruebe qué dependencias bloquean la transición
- Actualice su archivo
setup.py
para denotar compatibilidad con Python 3 - Utilice la integración continua para seguir siendo compatible
- Considere la posibilidad de usar la comprobación de tipos estáticos opcionales
- Portar módulos de extensión a Python 3
- Programación de Curses con Python
- Guía práctica de uso de los descriptores
- 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
- 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
- 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
- Subclasificación QueueHandler - un ejemplo de ZeroMQ
- Subclasificación QueueListener - un ejemplo de ZeroMQ
- 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
- 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
- Patterns to avoid
- 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
- How-To Argument Clinic
- Los objetivos del Argument Clinic
- Conceptos básicos y uso
- Convirtiendo su primera función
- Temas avanzados
- Valores predeterminados simbólicos
- Cambiar el nombre de las funciones y variables C generadas por Argument Clinic
- Convirtiendo funciones usando PyArg_UnpackTuple
- Grupos opcionales
- Usar convertidores de Argument Clinic reales, en lugar de «convertidores heredados»
- Py_buffer
- Convertidores avanzados
- Valores predeterminados de los parámetros
- El valor predeterminado
NULL
- Expresiones especificadas como valores por defecto
- Usando un convertidor de retorno
- Clonando funciones existentes
- Llamando código Python
- Usando un «auto convertidor»
- Escribiendo un convertidor personalizado
- Escribiendo un convertidor de retorno personalizado
- METH_O y METH_NOARGS
- funciones tp_new y tp_init
- Cambiar y redirigir la salida de Clinic
- El truco #ifdef
- Usando Argument Clinic en archivos Python
- Instrumentación de CPython con DTrace y SystemTap
- Portando código de Python 2 a Python 3
- 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?
- Why don’t generators support the with statement?
- ¿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?
- 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