1. Libros
  2. Python 3 - Tratamiento de los datos y técnicas de programación

Python 3 Tratamiento de los datos y técnicas de programación

  • 5% de descuento en todos los libros, con el código 5DESCUENTO
  • Disponible. Expedido en 24 horas
  • Envío gratis a partir de 25 € de compra
  • Versión online gratis por un año
  • 5% de descuento en todos los libros, con el código 5DESCUENTO
  • Consulta inmediata
  • Versión online digital, no descargable
  • Acceso ilimitado 24/7, durante 10 años
  • Acceso ilimitado 24/7, durante 10 años
  • Todos los libros online de ENI
  • Más de 5 novedades todos los meses
  • Novedades disponibles el mismo día de su publicación
  • Acceso 100% online

Presentación

Este libro sobre el lenguaje Python 3 está destinado a cualquier profesional de TI, ingeniero, estudiante, maestro o incluso una persona autodidacta que desee dominar este lenguaje muy avanzado. El objetivo de este libro es mostrar al lector lo que puede hacer con el lenguaje, desde el procesamiento de datos hasta la creación de un sitio web, a través del sistema y la red. Para comprender completamente su contenido, se recomienda leer primero el libro del cual este es la continuación, Python 3 - Los fundamentos del lenguaje con la misma editorial.

La primera parte cubre el procesamiento de datos con manipulación de archivos, archivos de configuración, formatos de importación/exportación, gestión de compresión o flujos XML o generación de documentos.

La segunda parte presenta la programación del sistema, la programación en red, la programación web y la programación científica, que son nichos en los que el lenguaje Python destaca tanto por su facilidad de uso como por su excepcional cobertura funcional.

La tercera parte presenta todas las herramientas de programación concurrente, ya sea programación asincrónica, paralela o distribuida. Tenga en cuenta que se pone el acento en muchas técnicas asincrónicas, ya que este es uno de los puntos principales en la evolución reciente del lenguaje Python.

El código fuente de los ejemplos del libro se puede descargar completamente desde www.ediciones-eni.com para permitir al lector probar el programa y modificarlo a su gusto para hacer sus propias experiencias.

Índice

  • Patrones de diseño
    • 1. Definición
      • 1.1 Situación respecto a la noción de objeto
      • 1.2 Organización del capítulo
      • 1.3 Situación respecto a otros conceptos
    • 2. Patrones de creación
      • 2.1 Singleton
      • 2.2 Fábrica
      • 2.3 Fábrica abstracta
      • 2.4 Constructor
      • 2.5 Prototipo
    • 3. Patrones de estructuración
      • 3.1 Adaptador
      • 3.2 Puente
      • 3.3 Composite
      • 3.4 Decorador
      • 3.5 Fachada
      • 3.6 Peso mosca
      • 3.7 Proxy
    • 4. Patrones de comportamiento
      • 4.1 Cadena de responsabilidad
      • 4.2 Solicitud
      • 4.3 Iterador
      • 4.4 Memento
      • 4.5 Visitante
      • 4.6 Observador
      • 4.7 Estrategia
      • 4.8 Función de callback
    • 5. ZCA
      • 5.1 Consideraciones
      • 5.2 Adaptador
      • 5.3 Utilidad
      • 5.4 Fábrica
      • 5.5 Para ir más allá
  • XML
    • 1. XML y las tecnologías relacionadas
      • 1.1 Definición de XML, terminología asociada
      • 1.2 Noción de esquema
      • 1.3 Ventajas e inconvenientes de XML
      • 1.4 Distintas maneras de recorrer un archivo XML
      • 1.5 Módulos Python dedicados a XML
    • 2. Validar un documento XML
      • 2.1 Documento XML
      • 2.2 Esquema DTD
      • 2.3 Esquema XSD
      • 2.4 Esquema RNG (RelaxNG)
      • 2.5 Schematron
    • 3. DOM
      • 3.1 Lectura
      • 3.2 Escritura
    • 4. SAX
      • 4.1 Soporte de SAX en lxml
      • 4.2 API SAX ligera
    • 5. XPath
    • 6. XSLT
    • 7. El caso concreto de los archivos HTML
      • 7.1 Problemática
      • 7.2 Parsear un archivo HTML según DOM
      • 7.3 Parsear un archivo HTML según SAX
  • Generación de contenido
    • 1. PDF
      • 1.1 Presentación
        • 1.1.1 Formato PDF
        • 1.1.2 Ventajas
        • 1.1.3 Inconvenientes
        • 1.1.4 Presentación de la librería libre
      • 1.2 Bajo nivel
        • 1.2.1 Librería de datos
        • 1.2.2 Canvas
      • 1.3 Alto nivel
        • 1.3.1 Estilos
        • 1.3.2 Flujo de datos
        • 1.3.3 Creación de un elemento visual
        • 1.3.4 Plantilla de página
        • 1.3.5 Página que contiene varias zonas
    • 2. OpenDocument
      • 2.1 Presentación
      • 2.2 ezodf2
        • 2.2.1 Instalación
        • 2.2.2 OpenDocument Texto
        • 2.2.3 OpenDocument Hoja de cálculo
        • 2.2.4 Ir más allá
      • 2.3 Alternativas
        • 2.3.1 lpod
        • 2.3.2 Generación a partir de plantillas
    • 3. Trabajar con imágenes
      • 3.1 Representación informática de una imagen
      • 3.2 Presentación de Pillow
      • 3.3 Formatos de imágenes matriciales
      • 3.4 Recuperar información de una imagen
      • 3.5 Operaciones generales sobre una imagen
      • 3.6 Trabajar con las capas o los píxeles
  • Calidad
    • 1. Desarrollo guiado por pruebas
      • 1.1 Pruebas unitarias
        • 1.1.1 Principios
        • 1.1.2 Interpretación
        • 1.1.3 Cobertura
        • 1.1.4 Herramientas
        • 1.1.5 Otras herramientas
      • 1.2 Pruebas de regresión
        • 1.2.1 Acciones de desarrollo
        • 1.2.2 Gestión de las anomalías detectadas
      • 1.3 Pruebas funcionales
      • 1.4 Pruebas de rendimiento
      • 1.5 Pruebas sintácticas
      • 1.6 Integración continua
    • 2. Programación dirigida por la documentación
      • 2.1 Documentación interna
        • 2.1.1 Destinada a los desarrolladores
        • 2.1.2 Destinada a los usuarios
      • 2.2 Documentación externa
        • 2.2.1 Presentación
        • 2.2.2 Inicio rápido
        • 2.2.3 Resultado
    • 3. Optimización
      • 3.1 Medir la calidad
      • 3.2 Herramientas de depuración
      • 3.3 Herramientas de perfilado
      • 3.4 Reglas de optimización
        • 3.4.1 ¿ Por qué optimizar ?
        • 3.4.2 Reglas generales
        • 3.4.3 Optimizar un algoritmo
        • 3.4.4 Optimizar el uso de la memoria
  • Programación de sistema
    • 1. Presentación
      • 1.1 Definición
      • 1.2 Objetivos del capítulo
    • 2. Comprender su sistema operativo
      • 2.1 Advertencia
      • 2.2 Sistema operativo
      • 2.3 Proceso actual
      • 2.4 Usuarios y grupos
      • 2.5 Contraseñas y autenticación
      • 2.6 Constantes para el sistema de archivos
      • 2.7 Administrar las rutas
      • 2.8 Herramientas
        • 2.8.1 Comparar dos archivos
        • 2.8.2 Herramienta de copia de seguridad
        • 2.8.3 Leer un archivo de configuración
        • 2.8.4 Pickle
      • 2.9 Comprimir y descomprimir un archivo
        • 2.9.1 Tarfile
        • 2.9.2 Gzip
        • 2.9.3 Bz2
        • 2.9.4 Zipfile
        • 2.9.5 Interfaz de alto nivel
    • 3. Gestión de un archivo
      • 3.1 Cambiar los permisos de un archivo
      • 3.2 Cambiar de propietario o de grupo
      • 3.3 Recuperar información de un archivo
      • 3.4 Eliminar un archivo
    • 4. Alternativas sencillas a los comandos bash usuales
      • 4.1 Directorios
      • 4.2 Archivos
      • 4.3 Módulo de alto nivel
      • 4.4 Búsqueda de un archivo
    • 5. Ejecutar comandos externos
      • 5.1 Ejecutar y mostrar el resultado
      • 5.2 Ejecutar y recuperar el resultado
      • 5.3 Para Python 3.5 y superior
    • 6. IHM sistema
      • 6.1 Presentación
      • 6.2 Trabajar con argumentos
      • 6.3 Cierre del programa
      • 6.4 Entrada estándar
      • 6.5 Salida estándar
      • 6.6 Salida de error
      • 6.7 Tamaño del terminal
    • 7. Curses
      • 7.1 Presentación
      • 7.2 Administrar el arranque y la parada
      • 7.3 Visualización de texto
      • 7.4 Gestión de los atributos
      • 7.5 Gestión de los colores
      • 7.6 Gestión de los eventos
    • 8. Acceso a los periféricos
      • 8.1 Introducción
      • 8.2 Ver las particiones
      • 8.3 Ver las llaves USB
      • 8.4 Lista de la información disponible
      • 8.5 Detectar la conexión de una clave USB
      • 8.6 Comunicar con un puerto en serie
      • 8.7 Comunicar con un puerto USB
  • Programación de red
    • 1. Escribir un servidor y un cliente
      • 1.1 Uso de un socket TCP
      • 1.2 Uso de un socket UDP
      • 1.3 Creación de un servidor TCP
      • 1.4 Creación de un servidor UDP
      • 1.5 Un poco más lejos sobre el tema
    • 2. Utilizar un protocolo estándar
      • 2.1 Client HTTP
      • 2.2 Servidor HTTP
      • 2.3 Proxy
      • 2.4 Cookies
      • 2.5 FTP y SFTP
      • 2.6 SSH
      • 2.7 POP y POPS
      • 2.8 IMAP y IMAPS
      • 2.9 SMTP y SMPTS
      • 2.10 NNTP
      • 2.11 IRC
    • 3. Wake-on-LAN
      • 3.1 Requisitos previos
      • 3.2 Implementación
  • Programación web
    • 1. Servicios web
      • 1.1 REST
      • 1.2 SOAP
      • 1.3 Pyro
    • 2. Cliente web
    • 3. Web scrapping
  • Programación científica
    • 1. Cálculo científico
      • 1.1 Presentación
      • 1.2 Python, una alternativa libre y creíble
      • 1.3 Descripción general de algunas librerías
    • 2. Tablas multidimensionales
      • 2.1 Creación
      • 2.2 Determinar la composición de una tabla
      • 2.3 Generadores de tablas
      • 2.4 Operaciones básicas
      • 2.5 Operador corchete
    • 3. Matrices
    • 4. Generación de gráficos
      • 4.1 Sintaxis MATLAB
      • 4.2 Sintaxis de objeto
      • 4.3 Formateo
      • 4.4 Gráficos 3D
    • 5. Introducción a Pandas
      • 5.1 Presentación
      • 5.2 Series
      • 5.3 Dataframes
  • Iniciación a la programación concurrente
    • 1. Noción de rendimiento
      • 1.1 Programación bloqueante
      • 1.2 Utilización de recursos de CPU
      • 1.3 Organización de la aplicación
    • 2. Terminología
      • 2.1 Proceso
      • 2.2 Hilo de ejecución
      • 2.3 Programación no bloqueante
      • 2.4 Noción de GIL
    • 3. Presentación de los paradigmas
      • 3.1 Programación asíncrona
      • 3.2 Programación en paralelo
      • 3.3 Programación distribuida
      • 3.4 Programación concurrente
  • Programación asíncrona: iniciación
    • 1. Utilidad de la programación asíncrona
    • 2. Introducción a la asincronía
      • 2.1 Noción de subrutina
      • 2.2 Ejecución de una subrutina
      • 2.3 Precisiones sobre la palabra clave await
      • 2.4 Ejecutar varias subrutinas en serie
      • 2.5 Tareas asíncronas
      • 2.6 Ejecutar las tareas asíncronas de manera concurrente
      • 2.7 Noción de awaitable
      • 2.8 Precisiones sobre asyncio.sleep
    • 3. Elementos de gramática
      • 3.1 Administrador de contexto asíncrona
      • 3.2 Generadores asíncronas
      • 3.3 Comprensión asíncronas
      • 3.4 Iteración asíncrona
    • 4. Nociones avanzadas
      • 4.1 Introspección
      • 4.2 Gestión del resultado o de la excepción
      • 4.3 Anular una tarea
      • 4.4 Protección contra una anulación
      • 4.5 Timeouts
      • 4.6 Gestión global afinada de la espera
      • 4.7 Módulo contextvars
    • 5. Bucle orientado a eventos asíncrono
      • 5.1 Gestión del bucle
      • 5.2 Depuración
      • 5.3 Noción de futuro
      • 5.4 Anulación
      • 5.5 Gestión de las excepciones
    • 6. Utilizar el bucle orientado a eventos
      • 6.1 Utilización de las funciones de retorno (callbacks)
      • 6.2 Planificar las llamadas a las funciones clásicas
      • 6.3 Utilizar señales
      • 6.4 Sincronización
      • 6.5 Comunicación entre subrutinas
      • 6.6 Ejemplo: lectura de la entrada estándar
      • 6.7 Programación en paralelo y asíncrona
      • 6.8 Ejecutar código bloqueante
    • 7. La asincronía según las versiones de Python
      • 7.1 Python 3.7
      • 7.2 Python 3.6
      • 7.3 Python 3.5
      • 7.4 Python 3.4
      • 7.5 Python 3.3 e inferior
      • 7.6 Python 2.7
    • 8. Caso concreto
      • 8.1 Ejemplo de trabajo
    • 9. Ejemplo trabajado de nuevo usando los generadores
      • 9.1 Descargar en modo asíncrono
      • 9.2 Parsear en modo asíncrono
      • 9.3 Hacer varios tratamientos en modo asíncrono
      • 9.4 Utilizar un ejecutor
      • 9.5 Para ir más lejos
  • Programación asíncrona: avanzada
    • 1. Transportes y protocolos
      • 1.1 Introducción
      • 1.2 Transportes
      • 1.3 Protocolos
      • 1.4 Implementación
      • 1.5 Ejemplo para el protocolo TCP
      • 1.6 Ejemplo para el protocolo SSL
      • 1.7 Ejemplo para el protocolo UDP
      • 1.8 Tratar el resto de tipos de protocolos de red
      • 1.9 Ejemplo para Subprocess
    • 2. Flujo
      • 2.1 Introducción
      • 2.2 Ejemplo con el protocolo TCP
  • Programación asíncrona: alternativas
    • 1. Gevent
      • 1.1 Introducción
      • 1.2 DNS
      • 1.3 Llamadas de sistema
      • 1.4 Programación asíncrona
    • 2. Twisted
      • 2.1 Introducción
      • 2.2 Cliente/servidor TCP
      • 2.3 Servidor/cliente UDP
      • 2.4 AMP
      • 2.5 Otros protocolos
    • 3. Trollius
    • 4. HTTP asíncrona con aiohttp
      • 4.1 Lado servidor
      • 4.2 Lado cliente
  • Programación en paralelo
    • 1. Utilización de un hilo de ejecución
      • 1.1 Gestión de un hilo de ejecución
        • 1.1.1 Presentación
        • 1.1.2 Creación
      • 1.2 Gestión de varios hilos de ejecución
        • 1.2.1 Lanzamiento y control
        • 1.2.2 Oportunidad de utilizar un hilo de ejecución
      • 1.3 Resolución de los problemas relacionados
        • 1.3.1 Sincronización
        • 1.3.2 Sincronización condicional
        • 1.3.3 Semáforo
    • 2. Utilización de proceso
      • 2.1 Gestión de un proceso
        • 2.1.1 Presentación
        • 2.1.2 Creación
      • 2.2 Gestión de varios procesos
        • 2.2.1 Sincronización
        • 2.2.2 Paralelizar un trabajo
      • 2.3 Resolución de los problemas relacionados
        • 2.3.1 Comunicación interproceso
      • 2.4 Compartición de datos entre procesos
      • 2.5 Oportunidad de utilizar los procesos
      • 2.6 Demonio
    • 3. Ejecución asíncrona
      • 3.1 Introducción
      • 3.2 Presentación
  • Programación distribuida
    • 1. Definiciones
    • 2. ØMQ
      • 2.1 Presentación general
      • 2.2 Pair
      • 2.3 Cliente/servidor
      • 2.4 Publish/subscribe
      • 2.5 PUSH/PULL
      • 2.6 Patrón pipeline
    • 3. AMQP con RabbitMQ
      • 3.1 Instalación
      • 3.2 Configuración
      • 3.3 Introducción
      • 3.4 Nociones importantes
      • 3.5 Publish/subscribe
      • 3.6 Enrutamiento y temas
    • 4. Celery
      • 4.1 Presentación
      • 4.2 ¿ En qué caso utilizar Celery ?
      • 4.3 Instalación
      • 4.4 Configuración
      • 4.5 Utilización
      • 4.6 Monitorizar
    • 5. Crossbar
      • 5.1 Presentación
      • 5.2 WebSocket
      • 5.3 Publish/subscribe
    • índice

Autor

Sébastien CHAZALLETMás información

Experto técnico en Python / Django / Odoo y Web Backend / Frontend, Sébastien Chazallet colabora como independiente en amplias misiones de desarrollo, de auditoría, como experto y en formación (www.formation-python.com, www.inspyration.fr). Sus realizaciones impactan a desarrollos en torno a Python para proyectos de gran envergadura, esencialmente para aplicaciones de intranet a medida basadas en Django y Odoo (ex Open ERP), y también para aplicaciones de escritorio, scripts de sistema, creación de sitios web o e-commerce.

Características

  • Nivel Medio a Experto
  • Número de páginas 540 páginas
  • Publicación mayo 2020
    • Encuadernación rústica - 17 x 21 cm
    • ISBN: 978-2-409-02575-4
    • EAN: 9782409025754
    • Ref. ENI: EIT3PYT
  • Nivel Medio a Experto
  • Publicación mayo 2020
    • HTML
    • ISBN: 978-2-409-02576-1
    • EAN: 9782409025761
    • Ref. ENI: LNEIT3PYT

Descargas

Al completar este formulario, acepta recibir información y comunicaciones comerciales sobre nuestros productos y servicios. Puede darse de baja de nuestra newsletter en cualquier momento. Si desea conocer más información acerca de nuestra política de protección de datos, pulse aquí.
  • Descargar los ejemplos del libro (36,3 Mo)