¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. Python 3 - Los fundamentos del lenguaje (4ª edición)

Python 3 Los fundamentos del lenguaje (4ª edición)

Información adicional

  • 5% de descuento en todos los libros
  • Envío gratis a partir de 25 € de compra
  • Versión online gratis por un año

Características

  • Encuadernación rústica - 17 x 21 cm
  • ISBN: 978-2-409-04421-2
  • EAN: 9782409044212
  • Ref. ENI: RITHS-43PYT

Información adicional

  • 5% de descuento en todos los libros
  • Versión online digital, no descargable
  • Consultable en línea durante 10 años inmediatamente después de la validación del pago.

Características

  • HTML
  • ISBN: 978-2-409-04422-9
  • EAN: 9782409044229
  • Ref. ENI: LNRITHS-43PYT
Este libro sobre los fundamentos del lenguaje Pyhton 3 (versión 3.11 en este caso) va dirigido a todos los profesionales de la informática, ingenieros, estudiantes (y especialmente los de grados universitarios de Ingeniería informática), docentes o incluso autodidactas, que desean tener un gran dominio de este lenguaje. En esta obra, se explican todas las partes esenciales del lenguaje y del tratamiento de datos para poder tener una amplia perspectiva de todo lo que permite hacer Python 3. El...
Consultar extractos del libro Extracto del libro
  • Nivel Iniciado a Medio
  • Número de páginas 703 páginas
  • Publicación febrero 2024
  • Nivel Medio a Experto
  • Publicación febrero 2024
Este libro sobre los fundamentos del lenguaje Pyhton 3 (versión 3.11 en este caso) va dirigido a todos los profesionales de la informática, ingenieros, estudiantes (y especialmente los de grados universitarios de Ingeniería informática), docentes o incluso autodidactas, que desean tener un gran dominio de este lenguaje. En esta obra, se explican todas las partes esenciales del lenguaje y del tratamiento de datos para poder tener una amplia perspectiva de todo lo que permite hacer Python 3. El libro está dedicado a la rama 3 de Python y, como no podía ser menos, presenta novedades aportadas por la versión 3.11. Sin embargo, como el lenguaje Python 2 todavía está muy presente, el autor describe las diferencias importantes que existen con la rama anterior de Python.

La primera parte del libro detalla las ventajas de Python 3 para dar respuesta a las necesidades de las empresas independientemente del campo de la informática al que se aplique.

La segunda parte es una guía para principiantes, tanto de Python como de programación en general. Aborda poco a poco conceptos clave usando proyectos como hilo conductor y propone la realización de algunos ejercicios.

La tercera parte se ocupa de los fundamentos del lenguaje: los conceptos se presentan de manera progresiva con ejemplos de código para ilustrar cada uno de ellos. El propósito del autor es que el lector alcance una autonomía real en su aprendizaje, con dos objetivos distintos para cada concepto presentado: un aprendizaje correcto para los que desconocen el concepto y, para los que lo conocen, el descubrimiento de puntos de vista originales para abordarlo y llegar lo más lejos posible con su uso.

La cuarta parte contiene un resumen del uso de las funciones de Python 3 para la manipulación de archivos o bases de datos.

Por último, la última parte del libro es un amplio tutorial para poner en práctica todo lo que se ha visto antes dentro de un marco profesional. Consiste en crear una aplicación que abarca todos los campos actuales de la programación (datos, Web con Pyramid, interfaz gráfica con Gtk, sistema de scripts, etc.) para presentar soluciones eficaces de desarrollo usando Python 3.

El código fuente de las partes 2, 4 y 5 puede descargarse en su totalidad en el sitio www.ediciones-eni.com.

Descargas

Prólogo
  1. Introducción
  2. Contenido del libro
  3. Progresión del libro
  4. Destinado a profesores y alumnos
  5. Destinado a investigadores y doctores
  6. Destinado a aquellos que vienen de otro lenguaje
Claves teóricas
  1. Breve historia de los lenguajes informáticos
    1. 1. Informática teórica
    2. 2. Cronología de la informática
      1. a. Evolución de las problemáticas vinculadasa la informática
      2. b. Cronología de los lenguajes informáticos
  2. Tipología de los lenguajes de programación
    1. 1. Paradigmas
      1. a. Definición
      2. b. Paradigma imperativo y derivados
      3. c. Paradigma orientado a objetos y derivados
      4. d. Programación orientada a aspectos
      5. e. Paradigma funcional
      6. f. Paradigma lógico
      7. g. Programación concurrente
      8. h. Síntesis
    2. 2. Interoperabilidad
    3. 3. Niveles de programación
      1. a. Máquina
      2. b. Bajo nivel
      3. c. Alto nivel
    4. 4. Tipado
      1. a. Débil vs. fuerte
      2. b. Estático vs dinámico
    5. 5. Gramática
      1. a. Lenguajes formales
      2. b. Sintaxis
  3. Python y el resto del mundo
    1. 1. Posición estratégica del lenguajePython
      1. a. Segmentos de mercado
      2. b. Nivel de complejidad
      3. c. Fortalezas del lenguaje
      4. d. Puntos débiles
    2. 2. Integración con otros lenguajes
      1. a. Extensiones C
      2. b. Integración de programas escritos en C
      3. c. Integración de programas Python en C
      4. d. Integración de programas escritos en Java
      5. e. Integración de programas Python en Java
      6. f. Otras integraciones
Presentación de Python
  1. Filosofía
    1. 1. Python en pocas líneas
      1. a. ¿De dónde proviene el nombre «Python»?
      2. b. Presentación técnica
      3. c. Presentación conceptual
    2. 2. Comparación con otros lenguajes
      1. a. Shell
      2. b. Perl
      3. c. C, C++
      4. d. Java
      5. e. PHP
    3. 3. Grandes principios
      1. a. El zen de Python
      2. b. El desarrollador no es estúpido
      3. c. Documentación
      4. d. Python viene con todo incluido
      5. e. Duck Typing
      6. f. Noción de código pythónico
  2. Historia de Python
    1. 1. La génesis
    2. 2. Ampliación del perímetro funcional
    3. 3. Evolución de la licencia
    4. 4. El futuro
  3. Gobierno
    1. 1. Desarrollo
      1. a. Ramas
      2. b. Comunidad
    2. 2. Modo de gobierno
      1. a. Creador del lenguaje
      2. b. PEP
      3. c. Toma de decisiones
      4. d. Contribuir a Python
  4. ¿Qué contiene Python?
    1. 1. Una gramática y una sintaxis
    2. 2. Varias implementaciones
    3. 3. Una librería estándar
    4. 4. Librerías de terceros
    5. 5. Frameworks
  5. Fases de ejecución de un programa Python
    1. 1. Carga de la máquina virtual
    2. 2. Compilación
    3. 3. Interpretación
Por qué escoger Python
  1. Cualidades del lenguaje
    1. 1. Puerta de entrada
    2. 2. Cualidades intrínsecas
    3. 3. Cobertura funcional
    4. 4. Dominios de excelencia
    5. 5. Garantías
  2. Difusión
    1. 1. Empresas
    2. 2. El mundo de la investigación
    3. 3. El mundo de la educación
    4. 4. Comunidad
  3. Referencias
    1. 1. Pesos pesados en la industria informática
      1. a. Google
      2. b. Mozilla
      3. c. Microsoft
      4. d. Canonical
      5. e. Cisco
    2. 2. Empresas de innovación
      1. a. Servicios de almacenamiento en línea
      2. b. Cloud computing
      3. c. Plataforma colaborativa (Forge)
      4. d. Redes sociales
    3. 3. Editores de contenidos
      1. a. Disney Animation Studio
      2. b. YouTube
      3. c. Box ADSL
      4. d. Spotify
    4. 4. Fabricantes de software
  4. Experiencia
    1. 1. Internet de las cosas
    2. 2. Sistemas y desarrollo web
    3. 3. Enseñanza
    4. 4. Informática embebida
    5. 5. Desarrollo web
    6. 6. ERP
Instalar el entorno de trabajo
  1. Introducción
  2. Instalar Python
    1. 1. Para Windows
    2. 2. Para Mac
    3. 3. Para GNU/Linux et BSD
    4. 4. Mediante compilación
    5. 5. Para un smartphone
  3. Instalar una librería externa
    1. 1. A partir de Python 3.4
    2. 2. Para una versión inferior a Python 3.4
    3. 3. Para Linux
  4. Crear un entorno virtual
    1. 1. ¿Para qué sirve un entorno virtual?
    2. 2. Para Python 3.3 o versiones superiores
    3. 3. Para cualquier versión de Python
    4. 4. Para Linux
  5. Gestión de las dependencias
  6. Instalar Anaconda
    1. 1. Para Windows
    2. 2. Para Linux
    3. 3. Para Mac
    4. 4. Actualizar Anaconda
    5. 5. Instalar una librería externa
    6. 6. Entornos virtuales
  7. Docker
  8. La consola Python
    1. 1. Arrancar la consola Python
    2. 2. BPython
    3. 3. IPython
    4. 4. IPython Notebook
  9. Instalar un IDE
    1. 1. Lista de IDE
    2. 2. Presentación de PyCharm
    3. 3. Configuración de PyCharm
  10. VSCode
Primeros pasos
  1. Antes de comenzar
    1. 1. Algunas nociones importantes
      1. a. ¿Cómo funciona un ordenador?
      2. b. ¿Qué es un programa informático?
      3. c. ¿Qué es el código fuente?
    2. 2. Algunas convenciones utilizadas en este libro
      1. a. Código Python
      2. b. Terminal
      3. c. Formato
    3. 3. ¿Cuál es el mejor métodopara aprender?
  2. Primer programa
    1. 1. Hello world!
    2. 2. Asignación
    3. 3. Valor booleano
    4. 4. Tipo
    5. 5. Excepciones
    6. 6. Bloque condicional
    7. 7. Condiciones avanzadas
    8. 8. Bloque iterativo
  3. Primer juego: Adivine el número
    1. 1. Descripción del juego
    2. 2. Pistas
      1. a. Gestión del azar
      2. b. Etapas del desarrollo
    3. 3. Para ir más allá
Funciones y módulos
  1. Las funciones
    1. 1. ¿Por qué utilizar funciones?
    2. 2. Introducción a las funciones
      1. a. Cómo declarar una función
      2. b. Gestión de un parámetro
      3. c. Cómo hacer la función másgenérica
      4. d. Parámetros por defecto
    3. 3. Problemáticas de acoplamiento y duplicaciónde código
      1. a. Nivel de sus funciones
      2. b. Noción de complejidad
      3. c. Buenas prácticas
  2. Los módulos
    1. 1. Introducción
      1. a. ¿Qué es un módulo?
      2. b. ¿Cómo crear un módulo enPython?
      3. c. Organizar el código
    2. 2. Gestionar el código de los módulos
      1. a. Ejecutar un módulo, importar un módulo
      2. b. Gestionar un árbol de módulos
  3. Terminar el juego
    1. 1. Crear niveles
    2. 2. Determinar un número máximo de intentos
    3. 3. Registrar las mejores puntuaciones
    4. 4. Inteligencia artificial
Los principales tipos
  1. Cadenas de caracteres
    1. 1. Sintaxis
    2. 2. Formato de una cadena
    3. 3. Noción de tamaño de letra
    4. 4. Noción de longitud
    5. 5. Pertenencia
    6. 6. Noción de ocurrencia
    7. 7. Reemplazo
    8. 8. Noción de carácter
    9. 9. Tipología de los caracteres
    10. 10. Secuenciar una cadena de caracteres
  2. Listas
    1. 1. Sintaxis
    2. 2. Índices
    3. 3. Valores
    4. 4. Azar
    5. 5. Técnicas de iteración
    6. 6. Ordenación
  3. Diccionarios
    1. 1. Presentación de los diccionarios
    2. 2. Recorrer un diccionario
    3. 3. Ejemplo
Las clases
  1. Sintaxis
  2. Noción de instancia en curso
  3. Operadores
  4. Herencia
    1. 1. Especialización
    2. 2. Programación por composición
Algoritmos básicos
  1. Delimitadores
    1. 1. Instrucción
    2. 2. Una línea de código = unainstrucción
    3. 3. Comentario
    4. 4. Una instrucción en varias líneas
    5. 5. Palabras clave
    6. 6. Palabras reservadas
    7. 7. Indentación
    8. 8. Símbolos
    9. 9. Operadores
      1. a. Operador de expresión de asignación:=
    10. 10. Uso del carácter de subrayado
    11. 11. PEP-8
    12. 12. PEP-7
    13. 13. PEP-257
  2. Instrucciones
    1. 1. Definiciones
      1. a. Variable
      2. b. Función
      3. c. Funciones lambda
      4. d. Clase
      5. e. Instrucción vacía
      6. f. Borrado
      7. g. Devolver el resultado de la función
    2. 2. Instrucciones condicionales
      1. a. Definición
      2. b. Condición
      3. c. Instrucción if
      4. d. Instrucción elif
      5. e. Instrucción else
    3. 3. Instrucción de correspondencia
    4. 4. Uso de una expresión de asignación
      1. a. Instrucción switch
      2. b. Interrupciones
      3. c. Profundizando en las condiciones
      4. d. Rendimiento
    5. 5. Iteraciones
      1. a. Instrucción for
      2. b. Instrucción while
      3. c. ¿Cuál es la diferencia entre fory while?
      4. d. Instrucción break
      5. e. Instrucción return
      6. f. Instrucción continue
      7. g. Instrucción else
      8. h. Generadores
    6. 6. Construcciones funcionales
      1. a. Construcción condicional
      2. b. Generadores
      3. c. Recorrido de listas
      4. d. Recorrido de conjuntos
      5. e. Recorrido de diccionarios
    7. 7. Recorrido y expresión de asignación
    8. 8. Gestión de excepciones
      1. a. Breve presentación de las excepciones
      2. b. Elevar una excepción
      3. c. ¿Por qué elevar una excepción?
      4. d. Aserciones
      5. e. Capturar una excepción
      6. f. Manejar una excepción
      7. g. Gestionar la salida del bloque de captura
      8. h. Gestionar que no se produzcan excepciones
      9. i. Gestor de contexto
      10. j. Programación asíncrona
    9. 9. Otros
      1. a. Gestionar imports
      2. b. Compartir espacios de nombres
      3. c. Funciones print, help, eval y exec
Declaraciones
  1. Variable
    1. 1. ¿Qué es una variable?
      1. a. Contenido
      2. b. Continente
      3. c. Formas de modificar una variable
    2. 2. Tipado dinámico
      1. a. Asignación: recordatorio
      2. b. Primitiva type y naturaleza del tipo
      3. c. Características del tipado Python
    3. 3. Visibilidad
      1. a. Espacio global
      2. b. Noción de bloque
  2. Función
    1. 1. Declaración
    2. 2. Parámetros
      1. a. Firma de una función
      2. b. Noción de argumento o de parámetro
      3. c. Valor por defecto
      4. d. Valor por defecto mutable
      5. e. Parámetros nombrados
      6. f. Declaración de parámetros extensibles
      7. g. Paso de parámetros con asterisco
      8. h. Firma universal
      9. i. Obligar a un parámetro a ser nombrado (keyword-only)
    3. 3. Forzar un argumento a ser posicional (positional-only)
      1. a. Anotaciones/tipo hint/tipado estático
  3. Clase
    1. 1. Declaración
      1. a. Firma
      2. b. Atributo
      3. c. Método
      4. d. Bloque local
    2. 2. Instanciación
      1. a. Sintaxis
      2. b. Relación entre la instancia y la clase
  4. Módulo
    1. 1. ¿Para qué sirve un módulo?
    2. 2. Declaración
    3. 3. Instrucciones específicas
    4. 4. ¿Cómo conocer el contenido de unmódulo?
    5. 5. Compilación de los módulos
Modelo de objetos
  1. Todo es un objeto
    1. 1. Principios
      1. a. Qué sentido dar a «objeto»
      2. b. Adaptación de la teoría de objetosen Python
      3. c. Generalidades
    2. 2. Clases
      1. a. Introducción
      2. b. Declaración imperativa de una clase
      3. c. Instancia
      4. d. Objeto en curso
      5. e. Declaración por prototipo de una clase
      6. f. Tuplas con nombre
    3. 3. Métodos
      1. a. Declaración
      2. b. Invocar al método
      3. c. Métodos y atributos especiales
      4. d. Constructor e inicializador
      5. e. Gestión automática de atributos
      6. f. Interés del paradigma orientado a objetos
      7. g. Relación entre objetos
    4. 4. Herencia
      1. a. Polimorfismo por subtipado
      2. b. Sobrecarga de métodos
      3. c. Sobrecarga de operadores
      4. d. Polimorfismo paramétrico
      5. e. Herencia múltiple
  2. Otras herramientas de la programación orientada a objetos
    1. 1. Principios
    2. 2. Interfaces
    3. 3. Atributos
    4. 4. Propiedades
    5. 5. Ubicaciones
    6. 6. Metaclases
    7. 7. Clases abstractas
    8. 8. Zope Component Architecture
      1. a. Presentación
      2. b. Instalación
      3. c. Definir una interfaz y un componente
      4. d. Otras funcionalidades
      5. e. Ventajas de la ZCA
  3. Funciones principales y primitivas asociadas
    1. 1. Personalización
      1. a. Clases
      2. b. Instancias
      3. c. Comparación
      4. d. Evaluación booleana
      5. e. Relaciones de herencia o de clase a instancia
    2. 2. Clases particulares
      1. a. Iterador
      2. b. Contenedores
      3. c. Instancias similares a funciones
      4. d. Recursos que hay que proteger
      5. e. Tipos
      6. f. Clases de datos
Números, booleanos y algoritmos aplicados
  1. Números
    1. 1. Tipos
      1. a. Enteros
      2. b. Reales
      3. c. Cosas en común entre números enterosy reales
      4. d. Métodos dedicados a los númerosenteros
      5. e. Métodos dedicados a los númerosreales
      6. f. Complejos
    2. 2. La consola Python, la calculadora por excelencia
      1. a. Operadores matemáticos binarios
      2. b. Operadores binarios particulares
      3. c. Operadores matemáticos unarios
      4. d. Redondeo
      5. e. Operadores de comparación
      6. f. Operaciones matemáticas n-arias
      7. g. Funciones matemáticas usuales
    3. 3. Representaciones de un número
      1. a. Representación decimal
      2. b. Representación por un exponente
      3. c. Representación por una fracción
      4. d. Representación hexadecimal
      5. e. Representación octal
      6. f. Representación binaria
      7. g. Operaciones binarias
      8. h. Longitud de la representación en memoriade un entero
    4. 4. Conversiones
      1. a. Conversión entre enteros y reales
      2. b. Conversión entre reales y complejos
      3. c. Conversión en un booleano
    5. 5. Trabajar con variables
      1. a. Un número es inmutable
      2. b. Modificar el valor de una variable
      3. c. Operadores incrementales
    6. 6. Estadísticas
  2. Booleanos
    1. 1. El tipo booleano
      1. a. Clase bool
      2. b. Los dos objetos True y False
      3. c. Diferencia entre el operador de igualdad y de identidad
    2. 2. Evaluación booleana
      1. a. Método genérico
      2. b. Objetos clásicos
Secuencias y algoritmos aplicados
  1. Presentación de los distintos tipos de secuencias
    1. 1. Generalidades
    2. 2. Las listas
    3. 3. Las n-tuplas
    4. 4. Conversión entre listas y n-tuplas
    5. 5. Cosas en común entre una lista y una n-tupla
  2. Noción de iterador
  3. Uso de índices y tramos
    1. 1. Definición de índice de un objetoy sus ocurrencias
    2. 2. Utilizar el índice para recorrer la secuencia
    3. 3. Encontrar las ocurrencias de un objeto y sus índices
    4. 4. Tamaño de una lista, contar ocurrencias
    5. 5. Utilizar el índice para modificar o eliminar
    6. 6. Iteración simple
    7. 7. Presentación de la noción de tramos(slices)
    8. 8. Caso particular de la rama 2.x de Python
    9. 9. Uso básico de tramos
    10. 10. Uso avanzado de tramos
  4. Uso de operadores
    1. 1. Operador +
    2. 2. Operador *
    3. 3. Operador +=
    4. 4. Operador *=
    5. 5. Operador in
    6. 6. Operadores de comparación
  5. Métodos de modificación
    1. 1. Agregar elementos a una lista y a una n-tupla
    2. 2. Eliminar un objeto de una lista y de una n-tupla
    3. 3. Soluciones alternativas para la modificaciónde n-tuplas
    4. 4. Invertir una lista o una tupla
    5. 5. Ordenar una lista
  6. Uso avanzado de listas
    1. 1. Operaciones de conjunto
    2. 2. Pivotar una secuencia
    3. 3. Iterar correctamente
    4. 4. Programación funcional
    5. 5. Recorrido de listas
    6. 6. Iteraciones avanzadas
    7. 7. Combinatoria
  7. Adaptar las listas a necesidades específicas
    1. 1. Lista de enteros
    2. 2. Presentación del tipo array
    3. 3. Utilizar una lista como una pila
    4. 4. Utilizar una lista como una fila de espera
    5. 5. Contenedor con mejor rendimiento
    6. 6. Utilizar las listas para representar matrices
    7. 7. Lista sin duplicados
  8. Otros tipos de datos
Conjuntos y algoritmos aplicados
  1. Presentación
    1. 1. Definición de un conjunto
    2. 2. Diferencias entre set y frozenset
    3. 3. Uso para eliminar valores duplicados de las listas
    4. 4. Agregar una relación de orden
  2. Operaciones sobre conjuntos
    1. 1. Operadores para un conjunto a partir de otros dos
    2. 2. Operadores para modificar un conjunto a partir deotro
    3. 3. Métodos equivalentes a la creacióno modificación de conjuntos
    4. 4. Métodos de comparación de conjuntos
    5. 5. Ejemplos de uso poco clásicos
  3. Métodos de modificación de un conjunto
    1. 1. Agregar un elemento
    2. 2. Eliminar un elemento
    3. 3. Vaciar un conjunto
    4. 4. Duplicar un elemento
    5. 5. Sacar un valor de un conjunto
    6. 6. Utilizar un conjunto como un almacén de objetos
    7. 7. Algorítmica avanzada: resolucióndel problema de las n reinas
Cadenas de caracteres y algoritmos aplicados
  1. Presentación
    1. 1. Definición
    2. 2. Vocabulario
    3. 3. Especificidades de la rama 2.x
    4. 4. Cambios aportados por la rama 3.x
    5. 5. Cadena de caracteres como secuencia de caracteres
    6. 6. Caracteres
    7. 7. Operadores de comparación
  2. Dar formato a cadenas de caracteres
    1. 1. Operador módulo
    2. 2. Métodos para dar formato al conjunto de lacadena
    3. 3. Nuevo método para dar formato a variablesen una cadena
    4. 4. Literales formateados
  3. Operaciones de conjunto
    1. 1. Secuenciación de cadenas
    2. 2. Operaciones sobre mayúsculas y minúsculas
    3. 3. Búsqueda en una cadena de caracteres
    4. 4. Información sobre los caracteres
  4. Problemáticas relativas a la codificación
    1. 1. Codificación por defecto
    2. 2. Codificación del sistema
    3. 3. Unicode, referencia absoluta
    4. 4. Otras codificaciones
    5. 5. Puntos entre el Unicode y el resto del mundo
    6. 6. Volver a Unicode
  5. Manipulaciones de bajo nivel avanzadas
    1. 1. Operaciones para contar
    2. 2. Una cadena de caracteres vista como una lista
    3. 3. Una cadena de caracteres vista como un conjunto decaracteres
  6. Representación en memoria
    1. 1. Presentación del tipo bytes
    2. 2. Vínculo con las cadenas de caracteres
    3. 3. Presentación del tipo bytearray
    4. 4. Gestión de un juego de caracteres
Diccionarios y algoritmos aplicados
  1. Presentación
    1. 1. Definición
    2. 2. Evolución y diferencias entre las ramas 2.xy 3.x
    3. 3. Vistas de diccionarios
    4. 4. Instanciación
    5. 5. Recorrer un diccionario
  2. Manipular un diccionario
    1. 1. Recuperar un valor de un diccionario
    2. 2. Modificar los valores de un diccionario
    3. 3. Eliminar una entrada de un diccionario
    4. 4. Duplicar un diccionario
    5. 5. Utilizar un diccionario como un agregador de datos
    6. 6. Métodos de iteración
  3. Uso avanzado de diccionarios
    1. 1. Agregar una relación de orden
    2. 2. Algorítmicas clásicas
    3. 3. Adaptar los diccionarios a necesidades específicas
    4. 4. Representación universal de datos
Datos temporales y algoritmos aplicados
  1. Gestionar una fecha del calendario
    1. 1. Noción de fecha del calendario
    2. 2. Trabajar con una fecha
    3. 3. Consideraciones astronómicas
    4. 4. Consideraciones históricas
    5. 5. Consideraciones técnicas
    6. 6. Representación textual
  2. Gestionar un horario o un momento de la jornada
    1. 1. Noción de instante
    2. 2. Noción de huso horario
    3. 3. Representación textual
  3. Gestionar un instante absoluto
    1. 1. Noción de instante absoluto
    2. 2. Relación con las nociones anteriores
    3. 3. Representación textual
    4. 4. Gestión de los husos horarios
    5. 5. Crear una fecha a partir de una representacióntextual
  4. Gestionar una diferencia entre dos fechas o instantes
    1. 1. Noción de diferencia y de resolución
    2. 2. Consideraciones técnicas
    3. 3. Uso con fechas del calendario
    4. 4. Uso con horarios
    5. 5. Uso con fechas absolutas
    6. 6. El segundo como unidad básica
    7. 7. Precisión al nanosegundo
  5. Especificidades de los husos horarios
  6. Problemáticas de bajo nivel
    1. 1. Timestamp y struct_time
    2. 2. Medidas de rendimiento
  7. Uso del calendario
    1. 1. Presentación del módulo calendar
    2. 2. Funciones esenciales del calendario
Manipulación de datos
  1. Manipular los archivos
    1. 1. Abrir un archivo
    2. 2. Leer un archivo
    3. 3. Escribir un archivo
    4. 4. Comparar dos archivos
  2. Herramienta de copia de seguridad
  3. Leer un archivo de configuración
  4. Formato de exportación/importación
    1. 1. CSV
      1. a. Explotar un archivo CSV
      2. b. Generación de un archivo CSV
    2. 2. JSON
    3. 3. Base64
    4. 4. Pickle
  5. Comprimir y descomprimir un archivo
    1. 1. Tarfile
    2. 2. Gzip
    3. 3. BZ2
    4. 4. Zipfile
    5. 5. Interfaz de alto nivel
  6. Herramientas de manipulación de datos
    1. 1. Generar números aleatorios
    2. 2. Expresiones regulares
  7. Criptografía ligera
    1. 1. Número aleatorio seguro
    2. 2. Funciones de cifrado
    3. 3. Código de autenticación del mensaje
    4. 4. Huella de archivo
    5. 5. Esteganografía
    6. 6. Comunicación segura entre aplicaciones
Bases de datos
  1. Introducción
  2. Acceso a una base de datos relacional
    1. 1. Punto de entrada
    2. 2. MySQL
    3. 3. PostgreSQL
    4. 4. SQLite
    5. 5. Oracle
  3. Uso de un ORM
    1. 1. ¿Qué es un ORM?
    2. 2. ORM propuestos por Python
    3. 3. SQLAlchemy
      1. a. Introspección en una tabla existente
      2. b. Manipular datos en una tabla existente
      3. c. Describir una base de datos mediante el código
  4. Otras bases de datos
    1. 1. CSV
    2. 2. NoSQL
    3. 3. Base de datos orientada a objetos: ZODB
    4. 4. Base de datos orientada al grafo: Neo4j
    5. 5. Base de datos de tipo clave-valor: Redis
    6. 6. Bases de datos orientadas a documentos: CouchDB y MongoDB
    7. 7. Bases de datos nativas XML: BaseX, eXist
    8. 8. Cassandra
    9. 9. Bases de datos orientadas a columnas: HBase
    10. 10. Big Data: el ecosistema Hadoop
  5. LDAP
    1. 1. Protocolo
    2. 2. Servidores
    3. 3. Terminología
    4. 4. Instalación
    5. 5. Abrir una conexión a un servidor
    6. 6. Realizar una búsqueda
    7. 7. Síncrono vs asíncrono
    8. 8. Conexiones seguras
Crear un entorno de trabajo en 10 minutos
  1. Descripción de la aplicación para construir
  2. Contenedores
    1. 1. Portainer
    2. 2. Base de datos
  3. Crear su contenedor Docker
  4. Instalar sus bibliotecas Python
Crear una aplicación web en 30 minutos
  1. Descripción de la aplicación que se va a construir
  2. Implementación
    1. 1. Aislar el entorno
    2. 2. Creación del proyecto
    3. 3. Configuración
    4. 4. Primeros ensayos
  3. Realizar la aplicación
    1. 1. Modelos
    2. 2. Plantillas
    3. 3. Vistas
  4. Para ir más allá
Crear una aplicación de consola en 10 minutos
  1. Objetivo
  2. Registrar el script
  3. Creación de los datos
  4. Parser de argumentos
Crear una aplicación gráfica en 20 minutos
  1. Objetivo
    1. 1. Funcional
    2. 2. Técnico
  2. Breve presentación de Gtk y algunos trucos
    1. 1. Presentación
    2. 2. Trucos
  3. Iniciar el programa
  4. Interfaz gráfica con Glade
  5. Crear el componente gráfico
  6. Controlador
  7. Otras librerías gráficas
    1. 1. TkInter
    2. 2. wxPython
    3. 3. PyQt
    4. 4. PySide
    5. 5. Otras
Crear un juego en 30 minutos con PyGame
  1. Presentación de PyGame
  2. Construcción de un juego Tetris
    1. 1. Presentación del juego
    2. 2. Presentación de la problemática
    3. 3. Creación de constantes
Anexos
  1. Objetos mutables y no mutables
  2. Tabla Unicode
    1. 1. Script
  3. Bytes
    1. 1. Script
    2. 2. Resultado
  4. Guía de migración a Python 3
  5. Cómo depurar
  6. Cómo probar el rendimiento
Autor : Sébastien CHAZALLET

Sébastien CHAZALLET

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. 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.
Más información

Descubrir todos sus libros

  • Pygame Pack de 2 libros: Desarrollo de videojuegos en Python
  • Python 3 Tratamiento de los datos y técnicas de programación

Novedades

Ver más