Python Language - Guía PDF
Document Details
Uploaded by FlatteringPrairieDog
Universidad Católica Boliviana, La Paz
Tags
Summary
This document is a guide to the Python programming language. It covers various topics such as starting with Python, data types, built-in modules and functions, and database access. It also includes examples and explanations for each concept.
Full Transcript
Python Language #python Tabla de contenido Acerca de 1 Capítulo 1: Empezando con Python Language 2 Observaciones 2 Versiones 3...
Python Language #python Tabla de contenido Acerca de 1 Capítulo 1: Empezando con Python Language 2 Observaciones 2 Versiones 3 Python 3.x 3 Python 2.x 3 Examples 4 Empezando 4 Verificar si Python está instalado 4 Hola, Mundo en Python usando IDLE 5 Hola archivo de World Python 5 Ejecutar un shell interactivo de Python 6 Otras conchas en línea 7 Ejecutar comandos como una cadena 8 Conchas y mas alla 8 Creando variables y asignando valores. 8 Entrada del usuario 13 IDLE - GUI de Python 14 Solución de problemas 14 Tipos de datos 15 Tipos incorporados 15 Booleanos 15 Números 16 Instrumentos de cuerda 16 Secuencias y colecciones. 17 Constantes incorporadas 17 Probando el tipo de variables 18 Convertir entre tipos de datos 19 Tipo de cadena explícita en la definición de literales 19 Tipos de datos mutables e inmutables 19 Construido en módulos y funciones 20 Sangría de bloque 24 Espacios vs. Pestañas 25 Tipos de colección 26 Utilidad de ayuda 31 Creando un modulo 32 Función de cadena - str () y repr () 33 repr () 33 str () 33 Instalación de módulos externos utilizando pip 34 Encontrar / instalar un paquete 35 Actualización de paquetes instalados 35 Actualización de pip 35 Instalación de Python 2.7.xy 3.x 36 Capítulo 2: * args y ** kwargs 39 Observaciones 39 h11 39 h12 39 h13 39 Examples 40 Usando * args al escribir funciones 40 Usando ** kwargs al escribir funciones 40 Usando * args al llamar a funciones 41 Usando ** kwargs al llamar a funciones 42 Usando * args al llamar a funciones 42 Argumentos solo de palabra clave y requeridos de palabra clave 43 Poblando los valores kwarg con un diccionario 43 ** kwargs y valores por defecto 43 Capítulo 3: Acceso a la base de datos 44 Observaciones 44 Examples 44 Accediendo a la base de datos MySQL usando MySQLdb 44 SQLite 45 La sintaxis de SQLite: un análisis en profundidad 46 Empezando 46 h21 46 Atributos importantes y funciones de Connection 47 Funciones importantes del Cursor 47 Tipos de datos SQLite y Python 51 Acceso a la base de datos PostgreSQL usando psycopg2 51 Estableciendo una conexión a la base de datos y creando una tabla. 51 Insertando datos en la tabla: 52 Recuperando datos de la tabla: 52 Base de datos Oracle 52 Conexión 54 Usando sqlalchemy 55 Capítulo 4: Acceso al código fuente y código de bytes de Python 56 Examples 56 Mostrar el bytecode de una función 56 Explorando el código objeto de una función. 56 Mostrar el código fuente de un objeto. 56 Objetos que no están incorporados 56 Objetos definidos interactivamente. 57 Objetos incorporados 57 Capítulo 5: Acceso de atributo 59 Sintaxis 59 Examples 59 Acceso a atributos básicos utilizando la notación de puntos 59 Setters, Getters & Properties 59 Capítulo 6: agrupar por() 62 Introducción 62 Sintaxis 62 Parámetros 62 Observaciones 62 Examples 62 Ejemplo 1 62 Ejemplo 2 63 Ejemplo 3 64 Ejemplo 4 65 Capítulo 7: Alcance variable y vinculante 67 Sintaxis 67 Examples 67 Variables globales 67 Variables locales 68 Variables no locales 69 Ocurrencia vinculante 69 Las funciones omiten el alcance de la clase al buscar nombres 70 El comando del 71 del v 71 del v.name 71 del v[item] 71 del v[a:b] 72 Ámbito local vs global 72 ¿Cuáles son el alcance local y global? 72 ¿Qué pasa con los choques de nombre? 73 Funciones dentro de funciones 73 global vs nonlocal (solo Python 3) 74 Capítulo 8: Almohada 76 Examples 76 Leer archivo de imagen 76 Convertir archivos a JPEG 76 Capítulo 9: Alternativas para cambiar la declaración de otros idiomas 77 Observaciones 77 Examples 77 Usa lo que el lenguaje ofrece: la construcción if / else. 77 Usa un dictado de funciones. 78 Usa la introspección de clase. 78 Usando un administrador de contexto 79 Capítulo 10: Ambiente Virtual Python - virtualenv 81 Introducción 81 Examples 81 Instalación 81 Uso 81 Instala un paquete en tu Virtualenv 82 Otros comandos virtuales útiles 82 Capítulo 11: Análisis de argumentos de línea de comandos 83 Introducción 83 Examples 83 Hola mundo en argparse 83 Ejemplo básico con docopt. 84 Estableciendo argumentos mutuamente excluyentes con argparse 84 Usando argumentos de línea de comando con argv 85 Mensaje de error del analizador personalizado con argparse 86 Agrupación conceptual de argumentos con argparse.add_argument_group () 86 Ejemplo avanzado con docopt y docopt_dispatch 88 Capítulo 12: Análisis de HTML 89 Examples 89 Localiza un texto después de un elemento en BeautifulSoup. 89 Usando selectores de CSS en BeautifulSoup 89 PyQuery 90 Capítulo 13: Anti-patrones de Python 91 Examples 91 Con exceso de celo excepto la cláusula 91 Mirando antes de saltar con la función de procesador intensivo 92 Claves del diccionario 92 Capítulo 14: Apilar 94 Introducción 94 Sintaxis 94 Observaciones 94 Examples 94 Creación de una clase de pila con un objeto de lista 94 Paréntesis de paréntesis 96 Capítulo 15: Árbol de sintaxis abstracta 97 Examples 97 Analizar funciones en un script de python 97 Capítulo 16: Archivos y carpetas I / O 99 Introducción 99 Sintaxis 99 Parámetros 99 Observaciones 99 Evitar el infierno de codificación multiplataforma 99 Examples 100 Modos de archivo 100 Leyendo un archivo línea por línea 102 Obtener el contenido completo de un archivo 103 Escribiendo en un archivo 103 Copiando los contenidos de un archivo a un archivo diferente 104 Compruebe si existe un archivo o ruta 104 Copiar un árbol de directorios 105 Iterar archivos (recursivamente) 105 Leer un archivo entre un rango de líneas. 106 Acceso aleatorio a archivos usando mmap 106 Reemplazo de texto en un archivo 107 Comprobando si un archivo está vacío 107 Capítulo 17: ArcPy 108 Observaciones 108 Examples 108 Impresión del valor de un campo para todas las filas de la clase de entidad en la geodatab 108 createDissolvedGDB para crear un archivo gdb en el área de trabajo 108 Capítulo 18: Arrays 109 Introducción 109 Parámetros 109 Examples 109 Introducción básica a las matrices 109 Accede a elementos individuales a través de índices. 110 Agregue cualquier valor a la matriz usando el método append () 111 Insertar valor en una matriz usando el método insert () 111 Extiende la matriz de python usando el método extend () 111 Agregue elementos de la lista a la matriz usando el método fromlist () 111 Elimine cualquier elemento del arreglo usando el método remove () 111 Eliminar el último elemento de la matriz utilizando el método pop () 112 Obtenga cualquier elemento a través de su índice usando el método index () 112 Invertir una matriz de python usando el método reverse () 112 Obtener información de búfer de matriz a través del método buffer_info () 112 Compruebe el número de apariciones de un elemento utilizando el método count () 113 Convierte una matriz en una cadena usando el método tostring () 113 Convierta la matriz a una lista de python con los mismos elementos utilizando el método to 113 Agregue una cadena a la matriz de caracteres utilizando el método fromstring () 113 Capítulo 19: Audio 114 Examples 114 Audio con pyglet 114 Trabajando con archivos WAV 114 WinSound 114 ola 114 Convierte cualquier archivo de sonido con python y ffmpeg 115 Tocando los pitidos de Windows 115 Capítulo 20: Aumentar errores / excepciones personalizados 116 Introducción 116 Examples 116 Excepción personalizada 116 Atrapar Excepción personalizada 116 Capítulo 21: Biblioteca de subproceso 118 Sintaxis 118 Parámetros 118 Examples 118 Llamando Comandos Externos 118 Más flexibilidad con Popen 119 Lanzar un subproceso 119 Esperando en un subproceso para completar 119 Salida de lectura de un subproceso 119 Acceso interactivo a subprocesos en ejecución. 119 Escribiendo a un subproceso 119 Leyendo un stream desde un subproceso 120 Cómo crear el argumento de la lista de comandos 120 Capítulo 22: Bloques de código, marcos de ejecución y espacios de nombres. 122 Introducción 122 Examples 122 Espacios de nombres de bloque de código 122 Capítulo 23: Bucles 124 Introducción 124 Sintaxis 124 Parámetros 124 Examples 124 Iterando sobre listas 124 Para bucles 125 Objetos iterables e iteradores. 126 Romper y continuar en bucles 126 declaración de break 126 continue declaración 127 Bucles anidados 128 Usa el return desde dentro de una función como un break 128 Bucles con una cláusula "else" 129 ¿Por qué uno usaría esta construcción extraña? 130 Iterando sobre los diccionarios 131 Mientras bucle 132 La Declaración de Pase 133 Iterando diferentes partes de una lista con diferentes tamaños de paso 133 Iteración sobre toda la lista. 134 Iterar sobre la sub-lista 134 El "half loop" do-while 135 Bucle y desembalaje 135 Capítulo 24: buscando 137 Observaciones 137 Examples 137 Obtención del índice para cadenas: str.index (), str.rindex () y str.find (), str.rfind () 137 Buscando un elemento 137 Lista 138 Tupla 138 Cuerda 138 Conjunto 138 Dictado 138 Obtención de la lista de índice y las tuplas: list.index (), tuple.index () 138 Buscando clave (s) para un valor en dict 139 Obtención del índice para secuencias ordenadas: bisect.bisect_left () 140 Buscando secuencias anidadas 140 Búsqueda en clases personalizadas: __contains__ y __iter__ 141 Capítulo 25: Características ocultas 143 Examples 143 Sobrecarga del operador 143 Capítulo 26: ChemPy - paquete de python 145 Introducción 145 Examples 145 Fórmulas de análisis 145 Equilibrio de la estequiometría de una reacción química. 145 Reacciones de equilibrio 145 Equilibrios quimicos 146 Fuerza iónica 146 Cinética química (sistema de ecuaciones diferenciales ordinarias) 146 Capítulo 27: Clases base abstractas (abc) 148 Examples 148 Configuración de la metaclase ABCMeta 148 Por qué / Cómo usar ABCMeta y @abstractmethod 149 Capítulo 28: Clasificación, mínimo y máximo 151 Examples 151 Obteniendo el mínimo o máximo de varios valores. 151 Usando el argumento clave 151 Argumento predeterminado a max, min 151 Caso especial: diccionarios 152 Por valor 152 Obteniendo una secuencia ordenada 153 Mínimo y máximo de una secuencia. 153 Hacer clases personalizables ordenable 154 Extraer N artículos más grandes o N más pequeños de un iterable 156 Capítulo 29: Comentarios y Documentación 158 Sintaxis 158 Observaciones 158 Examples 158 Comentarios de línea única, en línea y multilínea. 158 Accediendo programáticamente a las cadenas de documentación 159 Una función de ejemplo 159 Otra función de ejemplo 159 Ventajas de docstrings sobre comentarios regulares 160 Escribir documentación utilizando cadenas de documentación. 160 Convenciones de sintaxis 160 PEP 257 160 Esfinge 161 Guía de estilo de Google Python 162 Capítulo 30: Comparaciones 163 Sintaxis 163 Parámetros 163 Examples 163 Mayor o menor que 163 No igual a 164 Igual a 164 Comparaciones de cadena 165 Estilo 165 Efectos secundarios 165 Comparación por `is` vs` == ` 166 Comparando objetos 167 Common Gotcha: Python no impone la escritura 168 Capítulo 31: Complementos y clases de extensión 169 Examples 169 Mixins 169 Plugins con clases personalizadas 170 Capítulo 32: Comprobando la existencia de ruta y permisos 172 Parámetros 172 Examples 172 Realizar comprobaciones utilizando os.access 172 Capítulo 33: Computación paralela 174 Observaciones 174 Examples 174 Uso del módulo multiprocesamiento para paralelizar tareas. 174 Usando scripts de Padres e Hijos para ejecutar código en paralelo 174 Usando una extensión C para paralelizar tareas 175 Usando el módulo PyPar para paralelizar 175 Capítulo 34: Comunicación Serial Python (pyserial) 177 Sintaxis 177 Parámetros 177 Observaciones 177 Examples 177 Inicializar dispositivo serie 177 Leer del puerto serial 177 Compruebe qué puertos serie están disponibles en su máquina 178 Capítulo 35: Concurrencia de Python 179 Observaciones 179 Examples 179 El módulo de enhebrado. 179 El módulo multiprocesamiento. 179 Transferencia de datos entre procesos de multiprocesamiento. 180 Capítulo 36: Condicionales 183 Introducción 183 Sintaxis 183 Examples 183 si, elif, y si no 183 Expresión condicional (o "El operador ternario") 183 Si declaración 184 Otra declaración 184 Expresiones lógicas booleanas 185 Y operador 185 O operador 185 Evaluación perezosa 185 Pruebas para condiciones múltiples 186 Valores de verdad 187 Usando la función cmp para obtener el resultado de comparación de dos objetos 187 Evaluación de expresiones condicionales usando listas de comprensión 188 Probar si un objeto es Ninguno y asignarlo 189 Capítulo 37: Conectando Python a SQL Server 190 Examples 190 Conectar al servidor, crear tabla, consultar datos 190 Capítulo 38: Conexión segura de shell en Python 192 Parámetros 192 Examples 192 conexión ssh 192 Capítulo 39: configparser 193 Introducción 193 Sintaxis 193 Observaciones 193 Examples 193 Uso básico 193 Creando programáticamente el archivo de configuración. 194 Capítulo 40: Conjunto 195 Sintaxis 195 Observaciones 195 Examples 195 Consigue los elementos únicos de una lista. 195 Operaciones en sets 196 Conjuntos versus multisets 197 Establecer operaciones usando métodos e incorporaciones 198 Intersección 198 Unión 198 Diferencia 198 Diferencia simétrica 198 Subconjunto y superconjunto 199 Conjuntos desunidos 199 Membresía de prueba 200 Longitud 200 Conjunto de conjuntos 200 Capítulo 41: Contando 201 Examples 201 Contando todas las apariciones de todos los elementos en un iterable: colecciones.Contador 201 Obtención del valor más común (-s): collections.Counter.most_common () 201 Contando las ocurrencias de un elemento en una secuencia: list.count () y tuple.count () 202 Contando las ocurrencias de una subcadena en una cadena: str.count () 202 Contando ocurrencias en matriz numpy 202 Capítulo 42: Copiando datos 204 Examples 204 Realizando una copia superficial 204 Realizando una copia profunda 204 Realizando una copia superficial de una lista 204 Copiar un diccionario 204 Copiar un conjunto 205 Capítulo 43: Corte de listas (selección de partes de listas) 206 Sintaxis 206 Observaciones 206 Examples 206 Usando el tercer argumento del "paso" 206 Seleccionando una lista secundaria de una lista 206 Invertir una lista con rebanar 207 Desplazando una lista usando rebanar 207 Capítulo 44: Creando paquetes de Python 209 Observaciones 209 Examples 209 Introducción 209 Subiendo a PyPI 210 Configurar un archivo.pypirc 210 Registrarse y subir a testpypi (opcional) 210 Pruebas 211 Registrarse y subir a PyPI 211 Documentación 211 Readme 212 Licenciamiento 212 Haciendo paquete ejecutable 212 Capítulo 45: Creando un servicio de Windows usando Python 214 Introducción 214 Examples 214 Un script de Python que se puede ejecutar como un servicio 214 Ejecutando una aplicación web de Flask como un servicio 215 Capítulo 46: Crear entorno virtual con virtualenvwrapper en windows 217 Examples 217 Entorno virtual con virtualenvwrapper para windows 217 Capítulo 47: ctypes 219 Introducción 219 Examples 219 Uso básico 219 Errores comunes 219 No cargar un archivo 219 No acceder a una función 220 Objeto de ctypes básico 220 arrays de ctypes 221 Funciones de envoltura para ctypes. 222 Uso complejo 222 Capítulo 48: Datos binarios 224 Sintaxis 224 Examples 224 Formatear una lista de valores en un objeto byte 224 Desempaquetar un objeto byte de acuerdo con una cadena de formato 224 Embalaje de una estructura 224 Capítulo 49: Decoradores 226 Introducción 226 Sintaxis 226 Parámetros 226 Examples 226 Función decoradora 226 Clase de decorador 227 Métodos de decoración 228 ¡Advertencia! 229 Hacer que un decorador se vea como la función decorada. 229 Como una función 229 Como una clase 230 Decorador con argumentos (decorador de fábrica). 230 Funciones de decorador 230 Nota IMPORTANTE: 231 Clases de decorador 231 Crea una clase de singleton con un decorador. 231 Usando un decorador para cronometrar una función. 232 Capítulo 50: Definiendo funciones con argumentos de lista 233 Examples 233 Función y Llamada 233 Capítulo 51: dejar de lado 234 Introducción 234 Observaciones 234 Advertencia: 234 Restricciones 234 Examples 234 Código de muestra para estantería 235 Para resumir la interfaz (la clave es una cadena, los datos son un objeto arbitrario): 235 Creando un nuevo estante 235 Respóndeme 236 Capítulo 52: Depuración 239 Examples 239 El depurador de Python: depuración paso a paso con _pdb_ 239 A través de IPython y ipdb 241 Depurador remoto 241 Capítulo 53: Descomprimir archivos 243 Introducción 243 Examples 243 Usando Python ZipFile.extractall () para descomprimir un archivo ZIP 243 Usando Python TarFile.extractall () para descomprimir un tarball 243 Capítulo 54: Descriptor 244 Examples 244 Descriptor simple 244 Conversiones bidireccionales 245 Capítulo 55: Despliegue 247 Examples 247 Cargando un paquete Conda 247 Capítulo 56: Diccionario 249 Sintaxis 249 Parámetros 249 Observaciones 249 Examples 249 Accediendo a los valores de un diccionario. 249 El constructor dict () 250 Evitar las excepciones de KeyError 250 Acceso a claves y valores. 251 Introducción al Diccionario 252 creando un dict 252 sintaxis literal 252 comprensión de dictado 252 clase incorporada: dict() 252 modificando un dict 253 Diccionario con valores por defecto 253 Creando un diccionario ordenado 254 Desempaquetando diccionarios usando el operador ** 254 Fusionando diccionarios 255 Python 3.5+ 255 Python 3.3+ 255 Python 2.x, 3.x 255 La coma final 256 Todas las combinaciones de valores de diccionario. 256 Iterando sobre un diccionario 256 Creando un diccionario 257 Diccionarios ejemplo 258 Capítulo 57: Diferencia entre Módulo y Paquete 259 Observaciones 259 Examples 259 Módulos 259 Paquetes 259 Capítulo 58: Distribución 261 Examples 261 py2app 261 cx_Freeze 262 Capítulo 59: Django 264 Introducción 264 Examples 264 Hola mundo con django 264 Capítulo 60: Ejecución de código dinámico con `exec` y` eval` 266 Sintaxis 266 Parámetros 266 Observaciones 266 Examples 267 Evaluando declaraciones con exec 267 Evaluando una expresión con eval 267 Precompilando una expresión para evaluarla varias veces. 267 Evaluar una expresión con eval utilizando globales personalizados 267 Evaluar una cadena que contiene un literal de Python con ast.literal_eval 268 Código de ejecución proporcionado por un usuario no confiable que utiliza exec, eval o ast 268 Capítulo 61: El dis módulo 269 Examples 269 Constantes en el módulo dis 269 ¿Qué es el código de bytes de Python? 269 Desmontaje de módulos. 269 Capítulo 62: El intérprete (consola de línea de comandos) 271 Examples 271 Obtención de ayuda general 271 Refiriéndose a la última expresión. 271 Abriendo la consola de Python 272 La variable PYTHONSTARTUP 272 Argumentos de línea de comando 272 Obteniendo ayuda sobre un objeto 273 Capítulo 63: El módulo base64 275 Introducción 275 Sintaxis 275 Parámetros 275 Observaciones 277 Examples 277 Codificación y decodificación Base64 277 Codificación y decodificación Base32 279 Codificación y decodificación Base16 279 Codificación y decodificación ASCII85 280 Codificación y decodificación Base85 280 Capítulo 64: El módulo de configuración regional 282 Observaciones 282 Examples 282 Formato de moneda Dólares estadounidenses utilizando el módulo de configuración regional 282 Capítulo 65: El módulo os 283 Introducción 283 Sintaxis 283 Parámetros 283 Examples 283 Crear un directorio 283 Obtener directorio actual 283 Determinar el nombre del sistema operativo. 283 Eliminar un directorio 284 Seguir un enlace simbólico (POSIX) 284 Cambiar permisos en un archivo 284 makedirs - creación de directorio recursivo 284 Capítulo 66: Empezando con GZip 286 Introducción 286 Examples 286 Lee y escribe archivos zip de GNU 286 Capítulo 67: Enchufes 287 Introducción 287 Parámetros 287 Examples 287 Envío de datos a través de UDP 287 Recepción de datos a través de UDP 287 Envío de datos a través de TCP 288 Servidor de socket TCP multihilo 289 Raw Sockets en Linux 290 Capítulo 68: entorno virtual con virtualenvwrapper 292 Introducción 292 Examples 292 Crear entorno virtual con virtualenvwrapper 292 Capítulo 69: Entornos virtuales 294 Introducción 294 Observaciones 294 Examples 294 Creando y utilizando un entorno virtual. 294 Instalando la herramienta virtualenv 294 Creando un nuevo entorno virtual. 294 Activando un entorno virtual existente 295 Guardar y restaurar dependencias. 295 Salir de un entorno virtual. 296 Usando un entorno virtual en un host compartido 296 Entornos virtuales incorporados 296 Instalación de paquetes en un entorno virtual 297 Creando un entorno virtual para una versión diferente de python 298 Gestionar múltiples entornos virtuales con virtualenvwrapper 298 Instalación 298 Uso 299 Directorios de proyectos 299 Descubrir qué entorno virtual está utilizando 300 Especificando la versión específica de Python para usar en el script en Unix / Linux 300 Usando virtualenv con cáscara de pescado 301 Realización de entornos virtuales utilizando Anaconda. 301 Crear un entorno 302 Activa y desactiva tu entorno. 302 Ver una lista de entornos creados. 302 Eliminar un entorno 302 Comprobando si se ejecuta dentro de un entorno virtual 302 Capítulo 70: Entrada y salida básica 304 Examples 304 Usando input () y raw_input () 304 Usando la función de impresión 304 Función para pedir al usuario un número 305 Imprimir una cadena sin una nueva línea al final 305 Leer de stdin 306 Entrada desde un archivo 306 Capítulo 71: Entrada, subconjunto y salida de archivos de datos externos utilizando Pandas 309 Introducción 309 Examples 309 Código básico para importar, subcontratar y escribir archivos de datos externos mediante P 309 Capítulo 72: Enumerar 311 Observaciones 311 Examples 311 Creación de una enumeración (Python 2.4 a 3.3) 311 Iteración 311 Capítulo 73: Errores comunes 312 Introducción 312 Examples 312 Cambiando la secuencia sobre la que estás iterando 312 Argumento predeterminado mutable 315 Lista de multiplicación y referencias comunes. 316 Identidad entera y de cadena 320 Accediendo a los atributos de int literals. 321 Encadenamiento de u operador 322 sys.argv es el nombre del archivo que se está ejecutando 323 h14 323 Los diccionarios están desordenados. 323 Bloqueo global de intérprete (GIL) y bloqueo de hilos 324 Fugas variables en listas de comprensión y para bucles. 325 Retorno múltiple 326 Teclas JSON pitónicas 326 Capítulo 74: Escribiendo a CSV desde String o List 328 Introducción 328 Parámetros 328 Observaciones 328 Examples 328 Ejemplo básico de escritura 328 Anexando una cadena como nueva línea en un archivo CSV 329 Capítulo 75: Eventos enviados de Python Server 330 Introducción 330 Examples 330 Frasco SSE 330 Asyncio SSE 330 Capítulo 76: Examen de la unidad 331 Observaciones 331 Examples 331 Pruebas de excepciones 331 Funciones de simulación con unittest.mock.create_autospec 332 Configuración de prueba y desmontaje dentro de un unittest.TestCase 333 Afirmación de excepciones 334 Eligiendo aserciones dentro de unitests 335 Pruebas unitarias con pytest 336 Capítulo 77: Excepciones 340 Introducción 340 Sintaxis 340 Examples 340 Levantando excepciones 340 Atrapar excepciones 340 Ejecutando código de limpieza con finalmente 341 Re-elevando excepciones 341 Cadena de excepciones con aumento de 342 Jerarquía de excepciones 342 Las excepciones son objetos también 345 Creación de tipos de excepción personalizados 345 No atrapes todo! 346 Atrapando múltiples excepciones 347 Ejemplos prácticos de manejo de excepciones. 347 Entrada del usuario 347 Los diccionarios 348 Más 348 Capítulo 78: Excepciones del Commonwealth 350 Introducción 350 Examples 350 IndentationErrors (o indentation SyntaxErrors) 350 IndentationError / SyntaxError: sangría inesperada 350 Ejemplo 350 IndentationError / SyntaxError: unindent no coincide con ningún nivel de sangría externa 351 Ejemplo 351 Error Tabulación: Se esperaba un bloque tabulado 351 Ejemplo 351 IndentationError: uso incoherente de tabulaciones y espacios en sangría 351 Ejemplo 352 Cómo evitar este error 352 TypeErrors 352 TypeError: [definición / método] toma? argumentos posicionales pero? se le dio 352 Ejemplo 352 TypeError: tipo (s) de operando no compatibles para [operando]: '???' y '???' 353 Ejemplo 353 Error de tecleado: '???' El objeto no es iterable / subscriptible: 353 Ejemplo 353 Error de tecleado: '???' el objeto no es llamable 354 Ejemplo 354 NameError: name '???' no está definido 354 Simplemente no está definido en ninguna parte en el código 354 Tal vez se define más adelante: 354 O no fue import 355 Los alcances de Python y la Regla LEGB: 355 Otros errores 355 AssertError 355 Teclado interrumpir 356 ZeroDivisionError 356 Error de sintaxis en buen código 357 Capítulo 79: Explotación florestal 358 Examples 358 Introducción al registro de Python 358 Excepciones de registro 359 Capítulo 80: Exposiciónción 362 Sintaxis 362 Examples 362 Raíz cuadrada: math.sqrt () y cmath.sqrt 362 Exposiciónción utilizando builtins: ** y pow () 363 Exposiciónción utilizando el módulo matemático: math.pow () 363 Función exponencial: math.exp () y cmath.exp () 364 Función exponencial menos 1: math.expm1 () 364 Métodos mágicos y exponenciales: incorporados, matemáticos y matemáticos. 365 Exponenciación modular: pow () con 3 argumentos. 366 Raíces: raíz nth con exponentes fraccionarios 367 Cálculo de grandes raíces enteras 367 Capítulo 81: Expresiones Regulares (Regex) 369 Introducción 369 Sintaxis 369 Examples 369 Coincidiendo con el comienzo de una cadena 369 buscando 371 Agrupamiento 371 Grupos nombrados 372 Grupos no capturadores 372 Escapar de personajes especiales 373 Reemplazo 373 Reemplazo de cuerdas 373 Usando referencias de grupo 373 Usando una función de reemplazo 374 Encontrar todos los partidos no superpuestos 374 Patrones precompilados 374 Comprobación de caracteres permitidos 375 Dividir una cadena usando expresiones regulares 375 Banderas 376 Bandera de palabras clave 376 Banderas en linea 376 Iterando sobre los partidos usando `re.finditer` 377 Unir una expresión solo en lugares específicos 377 Capítulo 82: Extensiones de escritura 379 Examples 379 Hola mundo con extensión C 379 Pasando un archivo abierto a C Extensions 380 Extensión C usando c ++ y Boost 380 Código C ++ 380 Capítulo 83: Fecha y hora 383 Observaciones 383 Examples 383 Análisis de una cadena en un objeto de fecha y hora compatible con la zona horaria 383 Aritmética de fecha simple 383 Uso básico de objetos datetime 384 Iterar sobre fechas 384 Analizar una cadena con un nombre de zona horaria corto en un objeto de fecha y hora con f 385 Construyendo tiempos de datos conscientes de la zona horaria 386 Análisis de fecha y hora difuso (extracción de fecha y hora de un texto) 388 Cambio entre zonas horarias 388 Análisis de una marca de tiempo ISO 8601 arbitraria con bibliotecas mínimas 389 Convertir la marca de tiempo a datetime 389 Restar meses de una fecha con precisión 390 Calcular las diferencias de tiempo 390 Obtener una marca de tiempo ISO 8601 391 Sin zona horaria, con microsegundos. 391 Con zona horaria, con microsegundos. 391 Con zona horaria, sin microsegundos. 391 Capítulo 84: Filtrar 392 Sintaxis 392 Parámetros 392 Observaciones 392 Examples 392 Uso básico del filtro. 392 Filtro sin función 393 Filtrar como comprobación de cortocircuito. 393 Función complementaria: filterfalse, ifilterfalse 394 Capítulo 85: Formato de cadena 396 Introducción 396 Sintaxis 396 Observaciones 396 Examples 396 Conceptos básicos de formato de cadena 396 Alineación y relleno. 398 Formato literales (f-string) 398 Formato de cadena con fecha y hora 399 Formato utilizando Getitem y Getattr 400 Formato flotante 400 Formato de valores numéricos 401 Formato personalizado para una clase 402 Formateo anidado 403 Acolchado y cuerdas truncantes, combinadas. 403 Marcadores de posición nombrados 404 Usando un diccionario (Python 2.x) 404 Usando un diccionario (Python 3.2+) 404 Sin un diccionario: 404 Capítulo 86: Formato de fecha 405 Examples 405 Tiempo entre dos fechas 405 Analizando la cadena al objeto datetime 405 Salida de objetos de fecha y hora a cadena 405 Capítulo 87: Función de mapa 406 Sintaxis 406 Parámetros 406 Observaciones 406 Examples 406 Uso básico de map, itertools.imap y future_builtins.map 406 Mapeando cada valor en una iterable 407 Mapeo de valores de diferentes iterables. 408 Transposición con mapa: uso de "Ninguno" como argumento de función (solo python 2.x) 409 Series y mapeo paralelo 410 Capítulo 88: Funciones 413 Introducción 413 Sintaxis 413 Parámetros 413 Observaciones 413 Recursos adicionales 414 Examples 414 Definiendo y llamando funciones simples. 414 Devolviendo valores desde funciones 416 Definiendo una función con argumentos. 417 Definiendo una función con argumentos opcionales. 417 Advertencia 418 Definiendo una función con múltiples argumentos. 418 Definiendo una función con un número arbitrario de argumentos. 418 Número arbitrario de argumentos posicionales: 418 Número arbitrario de argumentos de palabras clave 419 Advertencia 420 Nota sobre nombrar 421 Nota sobre la singularidad 421 Nota sobre funciones de anidamiento con argumentos opcionales 421 Definiendo una función con argumentos mutables opcionales. 421 Explicación 422 Solución 422 Funciones Lambda (Inline / Anónimo) 423 Argumento de paso y mutabilidad. 426 Cierre 427 Funciones recursivas 427 Límite de recursión 428 Funciones anidadas 429 Iterable y desempaquetado del diccionario. 429 Forzando el uso de parámetros nombrados 431 Lambda recursiva utilizando variable asignada 431 Descripción del código 432 Capítulo 89: Funciones parciales 433 Introducción 433 Sintaxis 433 Parámetros 433 Observaciones 433 Examples 433 Elevar el poder 433 Capítulo 90: Generadores 435 Introducción 435 Sintaxis 435 Examples 435 Iteración 435 La siguiente función () 435 Enviando objetos a un generador. 436 Expresiones generadoras 437 Introducción 437 Usando un generador para encontrar los números de Fibonacci 440 Secuencias infinitas 440 Ejemplo clásico - números de Fibonacci 441 Rindiendo todos los valores de otro iterable. 441 Coroutines 442 Rendimiento con recursión: listado recursivo de todos los archivos en un directorio 442 Iterando sobre generadores en paralelo. 443 Código de construcción de lista de refactorización 444 buscando 444 Capítulo 91: Gestores de contexto (declaración “con”) 446 Introducción 446 Sintaxis 446 Observaciones 446 Examples 447 Introducción a los gestores de contexto y con la declaración. 447 Asignar a un objetivo 447 Escribiendo tu propio gestor de contexto. 448 Escribiendo tu propio administrador de contexto usando la sintaxis del generador. 449 Gestores de contexto multiples 450 Gestionar recursos 450 Capítulo 92: Gráficos de tortuga 452 Examples 452 Ninja Twist (Tortuga Gráficos) 452 Capítulo 93: hashlib 453 Introducción 453 Examples 453 Hash MD5 de una cadena 453 algoritmo proporcionado por OpenSSL 454 Capítulo 94: Heapq 455 Examples 455 Artículos más grandes y más pequeños en una colección. 455 Artículo más pequeño en una colección. 455 Capítulo 95: Herramienta 2to3 457 Sintaxis 457 Parámetros 457 Observaciones 458 Examples 458 Uso básico 458 Unix 458 Windows 458 Unix 459 Windows 459 Capítulo 96: herramienta grafica 460 Introducción 460 Examples 460 PyDotPlus 460 Instalación 460 PyGraphviz 461 Capítulo 97: ijson 463 Introducción 463 Examples 463 Ejemplo simple 463 Capítulo 98: Implementaciones no oficiales de Python 464 Examples 464 IronPython 464 Hola Mundo 464 enlaces externos 464 Jython 464 Hola Mundo 465 enlaces externos 465 Transcrypt 465 Tamaño y velocidad del código 465 Integración con HTML 466 Integración con JavaScript y DOM 466 Integración con otras bibliotecas de JavaScript 467 Relación entre Python y código JavaScript 467 enlaces externos 468 Capítulo 99: Importando modulos 469 Sintaxis 469 Observaciones 469 Examples 469 Importando un modulo 469 Importando nombres específicos desde un módulo 471 Importando todos los nombres de un módulo 471 La variable especial __all__ 472 Importación programática 473 Importar módulos desde una ubicación de sistema de archivos arbitraria. 473 Reglas PEP8 para Importaciones 474 Importando submódulos 474 __importar __ () función 474 Reimportando un módulo 475 Python 2 475 Python 3 475 Capítulo 100: Incompatibilidades que se mueven de Python 2 a Python 3 477 Introducción 477 Observaciones 477 Examples 478 Declaración de impresión vs. función de impresión 478 Cuerdas: Bytes contra Unicode 479 División entera 481 Reducir ya no es una función incorporada. 483 Diferencias entre las funciones de rango y rango 484 Compatibilidad 485 Desembalaje Iterables 486 Levantando y manejando excepciones 488.next () método en los iteradores renombrados 490 Comparación de diferentes tipos 490 Entrada del usuario 491 Cambios en el método del diccionario 492 La sentencia exec es una función en Python 3 493 Error de la función hasattr en Python 2 493 Módulos renombrados 494 Compatibilidad 495 Constantes octales 495 Todas las clases son "clases de nuevo estilo" en Python 3. 495 Se eliminaron los operadores y ``, sinónimo de! = Y repr () 496 codificar / decodificar a hex ya no está disponible 497 Función cmp eliminada en Python 3 498 Variables filtradas en la lista de comprensión. 498 mapa() 499 filter (), map () y zip () devuelven iteradores en lugar de secuencias 500 Importaciones absolutas / relativas 501 Más sobre Importaciones Relativas 502 Archivo I / O 503 La función round () rompe el empate y devuelve el tipo 503 rotura de corbata redonda () 503 round () tipo de retorno 504 Verdadero, Falso y Ninguno 504 Devolver valor al escribir en un objeto de archivo 505 largo vs. int 505 Valor booleano de clase 506 Capítulo 101: Indexación y corte 507 Sintaxis 507 Parámetros 507 Observaciones 507 Examples 507 Rebanado basico 507 Hacer una copia superficial de una matriz 508 Invertir un objeto 509 Clases personalizadas de indexación: __getitem__, __setitem__ y __delitem__ 509 Asignación de rebanada 510 Rebanar objetos 511 Indexación básica 511 Capítulo 102: Interfaz de puerta de enlace de servidor web (WSGI) 513 Parámetros 513 Examples 513 Objeto de servidor (Método) 513 Capítulo 103: Introducción a RabbitMQ utilizando AMQPStorm 515 Observaciones 515 Examples 515 Cómo consumir mensajes de RabbitMQ 515 Cómo publicar mensajes a RabbitMQ 516 Cómo crear una cola retrasada en RabbitMQ 517 Capítulo 104: Iterables e iteradores 519 Examples 519 Iterador vs Iterable vs generador 519 Lo que puede ser iterable 520 Iterando sobre todo iterable 520 Verificar solo un elemento en iterable. 521 Extraer valores uno por uno. 521 ¡El iterador no es reentrante! 521 Capítulo 105: kivy - Framework Python multiplataforma para el desarrollo de NUI 522 Introducción 522 Examples 522 Primera aplicación 522 Capítulo 106: La declaración de pase 525 Sintaxis 525 Observaciones 525 Examples 527 Ignorar una excepción 527 Crear una nueva excepción que puede ser capturada 527 Capítulo 107: La función de impresión 528 Examples 528 Fundamentos de impresión 528 Parámetros de impresión 529 Capítulo 108: La variable especial __name__ 531 Introducción 531 Observaciones 531 Examples 531 __name__ == '__main__' 531 Situación 1 531 Situación 2 531 function_class_or_module.__ name__ 532 Utilizar en el registro 533 Capítulo 109: Las clases 534 Introducción 534 Examples 534 Herencia basica 534 Funciones incorporadas que funcionan con herencia. 535 Variables de clase e instancia 536 Métodos enlazados, no enlazados y estáticos. 537 Clases de estilo nuevo vs. estilo antiguo 539 Valores por defecto para variables de instancia 540 Herencia múltiple 541 Descriptores y búsquedas punteadas 543 Métodos de clase: inicializadores alternos 544 Composición de la clase 545 Parche de mono 546 Listado de todos los miembros de la clase 547 Introducción a las clases 548 Propiedades 550 Clase de singleton 552 Capítulo 110: Lectura y Escritura CSV 554 Examples 554 Escribiendo un archivo TSV 554 Pitón 554 Archivo de salida 554 Usando pandas 554 Capítulo 111: Lista 555 Introducción 555 Sintaxis 555 Observaciones 555 Examples 555 Acceso a los valores de la lista 555 Lista de métodos y operadores soportados. 557 Longitud de una lista 562 Iterando sobre una lista 562 Comprobando si un artículo está en una lista 563 Elementos de la lista de inversión 564 Comprobando si la lista está vacía 564 Concatenar y fusionar listas 564 Todos y cada uno 565 Eliminar valores duplicados en la lista 566 Acceso a valores en lista anidada 566 Comparacion de listas 568 Inicializando una lista a un número fijo de elementos 568 Capítulo 112: Lista de Comprensiones 570 Introducción 570 Sintaxis 570 Observaciones 570 Examples 570 Lista de comprensiones condicionales 570 Lista de Comprensiones con Bucles Anidados 572 Refactorización de filtro y mapa para enumerar las comprensiones. 573 Refactorización - Referencia rápida 574 Comprensiones de lista anidadas 575 Iterar dos o más listas simultáneamente dentro de la comprensión de la lista 575 Capítulo 113: Lista de desestructuración (también conocido como embalaje y desembalaje) 577 Examples 577 Tarea de destrucción 577 La destrucción como valores. 577 La destrucción como lista 577 Ignorar valores en las tareas de desestructuración. 578 Ignorar listas en tareas de desestructuración. 578 Argumentos de la función de embalaje 578 Empaquetando una lista de argumentos 579 Packing argumentos de palabras clave 579 Desempaquetando argumentos de funciones 581 Capítulo 114: Listar comprensiones 582 Introducción 582 Sintaxis 582 Observaciones 582 Examples 582 Lista de Comprensiones 582 más 583 Doble iteración 584 Mutación in situ y otros efectos secundarios 584 Los espacios en blanco en la lista de comprensión 585 Diccionario de Comprensiones 586 Expresiones del generador 587 Casos de uso 589 Establecer Comprensiones 590 Evite operaciones repetitivas y costosas usando cláusula condicional 590 Comprensiones que involucran tuplas 592 Contando Ocurrencias Usando Comprensión 592 Cambio de tipos en una lista 593 Capítulo 115: Listas enlazadas 594 Introducción 594 Examples 594 Ejemplo de lista enlazada única 594 Capítulo 116: Llama a Python desde C # 598 Introducción 598 Observaciones 598 Examples 599 Script de Python para ser llamado por la aplicación C # 599 Código C # llamando al script Python 600 Capítulo 117: Maldiciones básicas con pitón 602 Observaciones 602 Examples 602 Ejemplo básico de invocación 602 La función de ayuda wrapper (). 602 Capítulo 118: Manipulando XML 604 Observaciones 604 Examples 604 Abriendo y leyendo usando un ElementTree 604 Modificar un archivo XML 604 Crear y construir documentos XML 605 Abrir y leer archivos XML grandes utilizando iterparse (análisis incremental) 605 Buscando el XML con XPath 606 Capítulo 119: Matemáticas complejas 608 Sintaxis 608 Examples 608 Aritmética compleja avanzada 608 Aritmética compleja básica 609 Capítulo 120: Matraz 610 Introducción 610 Sintaxis 610 Examples 610 Los basicos 610 URL de enrutamiento 611 Métodos HTTP 611 Archivos y plantillas 612 Jinja Templando 613 El objeto de solicitud 614 Parámetros de URL 614 Cargas de archivos 615 Galletas 615 Capítulo 121: Matrices multidimensionales 616 Examples 616 Listas en listas 616 Listas en listas en listas en... 617 Capítulo 122: Metaclases 618 Introducción 618 Observaciones 618 Examples 618 Metaclases basicas 618 Singletons utilizando metaclases 619 Usando una metaclase 620 Sintaxis de metaclase 620 Compatibilidad de Python 2 y 3 con six 620 Funcionalidad personalizada con metaclases. 620 Introducción a las metaclases 621 ¿Qué es una metaclase? 621 La metaclase mas simple 621 Una metaclase que hace algo 621 La metaclase por defecto. 622 Capítulo 123: Método Anulando 624 Examples