Programación Python para la automatización de procesos (MRR)
38 h
Personal técnico de distintos departamentos: producción, procesos, calidad, ingeniería, mantenimiento, logística, oficina técnica... Líderes y futuros jefes de equipo en el entorno productivo.
Objetivos generales
- Presentar al estudiante el potencial y la versatilidad del idioma Python.
- Aportar una visión básica, detallada y profunda de todo el entorno de programación Python, capacitándole para hacer tareas básicas de cualquier tipología de manera autónoma.
- Dotar al estudiante de las herramientas y conocimientos elementales y necesarios para poder seguir su formación en un campo de especialización específico, al finalizar el curso tal como Big Data, administración de sistemas y redes, ciberseguridad, inteligencia artificial, etc.).
Objetivos específicos
- Conocer los fundamentos de la programación en Phyton.
- Programar con objetos Phyton.
- Automatizar procesos con Phyton.
Programa
1. Introducción a la programación Python
- Introducción al curso. Preparación del entorno de desarrollo: Instalación de Python, Notepad++ y Jupyter Notebook (Anaconda). Probando el entorno de trabajo.
- Creación del primer programa: Hola Mundo. Uso de la consola de Python desde Anaconda Prompt. Variables Python y tipología de variables (integers, floats, strings, iterables, booleanos, etc.) Técnicas de Casting de variables.
- Operadores en Python. Operadores de asignación, operadores aritméticos, operadores comparativos, operadores lógicos, operadores de identidad y operadores Bitwise.
- Estructuras de datos en Python: listas, tuplas, sets y diccionarios. Booleanos en Python. Ejercicios de revisión.
- Corrección de los ejercicios de revisión. Introducción a los while loops y los for loops.
- Ejercicios interactivos en clase. While loops y las tres tipologías de for loops nivel básico.
- Introducción a las estructuras condiciones if … elif … else. Ejercicios interactivos en clase. While loops y for loops nivel intermedio, combinando estructuras condicionales.
- Estructura de datos. Técnicas de indexing, slicing. Tipologías de print (combinados, argumentos de la función print, módulos pprint, f-string y otras). Ejercicios de revisión.
2. Objetos en Python
- Corrección de los ejercicios de revisión. Introducción teórica a los objetos de Python, las funciones, las clases y las funciones lambda. Comparación teórica del Python con otros lenguajes de programación. Ventajas y desventajas.
- Introducción a las funciones lambda y map. Introducción a las funciones de Python.
- Introducción a las Clases Python, self y propiedades. Programación por objetos. Ejercicios de creación de funciones y clases.
- Ámbitos de las clases, ámbito global, ámbito nonglobal, ámbito local. Decoradores de clases.
- Combinación de clases y funciones Python a nivel intermedio. Gestión de errores en Python. Cláusulas Try Except, buenas prácticas y PEP8.
- Revisión de los ejercicios. Creación de ad hoc módulos, el directorio de trabajo y el módulo sys.
- Presentación de módulos Python. Módulo Random, Módulo datetime, Módulo dateparser, Módulo OS. Ejercicios de Objetos Python.
3. Automatización en Python
- Revisión de los ejercicios. Introducción a los ficheros en Python. Ficheros .py y su ejecución. Función input.
- Ficheros de datos. Introducción a los módulos csv, json y txt. Cómo guardar y cargar un fichero.
- Gestión de ficheros y el entorno del módulo Pathlib. Ejercicios interactivos en clase de gestión de ficheros.
- Documentación de scripts, funciones y clases. Convenciones estilísticas, su relevancia y el módulo autopep8.
- Programación verde.
- Cómo hacer el código más sostenible para consumir menos recursos.
Metodología
- La formación teórica se complementará con casos de éxito y desarrollo de casos prácticos.
- Prueba final tipo test para evaluar los conocimientos adquiridos.