Resumen del curso CURSO DE INICIACIÓN A LA PROGRAMACIÓN EN PYTHON

Objetivos
- Aprender a programar con Python.

- Ser capaz de analizar, diseñar y desasrrollar algoritmos básicos y su respectiva implementación en el lenguaje de programación Python.

- Conocer los elementos del lenguaje, manejar la sintaxis y prototipar tus propios proyectos.

- Poder instalar Python en cualquier SO, y tener las capacidades para instalar y preparar un entorno de trabajo con Python en Visual Studio Code.

- Analizar, diseñar e implementar soluciones computacionales de baja y media complejidad.

- Utilizar los operadores y el concepto de variable y conocer los
elementos básicos del lenguaje.

- Iniciar, trabajar y terminar sesiones interactivas de consola de Python y realizar un primer programa básico.

- Conocer y utilizar con soltura las estructuras de decisión en Python, condicionales, manejar los distintos tipos de datos y realizar programas sencillos.
 
Contenido
Tema 1. Python 3: Introducción y entornos.

- Introducción.
- Sobre el curso.
- ¿Qué es Python?

Características.

- Entorno para el trabajo con Python.

Linux.
Python en Windows.

- Intérprete de Python.
- Visual Studio Code.

Instalación.
Espacio de trabajo para Python 3.
Iniciar un nuevo programa Python.

- Cómo vas a trabajar.

Requisitos y nomenclaturas para ejecución de los ejercicios.

Tema 2. Conceptos básicos de programación en Python.

- Definiciones y conceptos.

Algoritmos.
Diagramas de flujo.
Pseudocódigo.
Programador.
Programa Informático.
Diferencia entre algoritmo y programa informático.

- Tipos de lenguajes de programación.

Bajo nivel.
Alto nivel.
Compiladores e intérpretes.

- Python3: sesiones interactivas.

Iniciar sesión interactiva.
Finalizar una sesión interactiva.

- Operadores aritméticos

Sumas y restas.
Multiplicación y división.
Otros operadores.
Precedencia de los operadores aritméticos.

- Operadores lógicos.

- Operadores de comparación.

Tabla de todos los operadores aritméticos, lógicos y de comparación.

- Variables.

Reglas y convención de nombres.
Asignación compacta.

Tema 3. Entrada, Salida y Tipos de Datos.

- Entrada, salida y tipos de datos.

- Tipos de datos.

Comentarios.

- Números.

Operaciones.
Algunos métodos para trabajar con números.

- Textos
- Print()

Print() - Texto.
Print() - Números.
Print() - Números y Textos.
Cadenas "f"

- Input()

- Ejercicio guiado 1.

El problema.
Paso 1: Abrir el programa.
Paso 2: Crear archivo .py.
Paso 3: Resolver el problema.
Paso 4: Programar la solución.
Paso 5: Ejecutar.
Analizando el código.

Ejercicio guiado 2

1.- Crear el archivo.
2.- Resuelve el problema.
3.- Programamos la solución.
Analizando el código.

Tema 4. Estructura de datos.

- Listas.

Slicing.
Funciones básicas para manejo de listas.
Operadores para manejo de listas.
Funciones especiales para manejo de listas.

- Tuplas.

Slicing.
Manejo de tuplas.
Funciones especiales para manejo de tuplas.
Operadores para manejo de tuplas.

- Diccionarios.

Métodos para Diccionarios.
Operadores de identidad.

Tema 5. Control de flujo en Python I (if, elif, else).

- Control de flujo en Python I (if, elif, else)

Control de flujo.
Estructuras de decisión.
Identación.

- Ejecución condicionada de un bloque IF.
- Ejecución selectiva entre dos bloques de instrucciones IF - ELSE.
- Ejecución selectiva entre dos bloques de instrucciones IF - ELSE II. Decisiones anidadas.
- Decisiones consecutivas IF, ELIF y ELSE.

Tema 6. Control de flujo en Python II (for - while).

- FOR.

For controlado con secuencia a través de una lista.
For controlado con secuencia a través de un rango.
Ejercicios guiados.

- While.

Ejemplo de uso del bucle WHILE I (como contador).
Ejemplo de uso del bucle WHILE (evento).

WHILE infinito.

Bucles anidados.

- Break, Continue, Else & Pass.

Break.
Continue.
Else.
Pass.

Tema 7.Funciones en Python.

- Definir funciones en Python.
- Documentar funciones en Python.

- Los parámetros.

Orden de los parámetros (keywords).
Parámetros por defecto.
Parámetros múltiples indefinidos.
Parámetros múltiples por clave-valor.

- Ámbitos

Ámbito global.
Ámbito nonlocal.
Ámbitos locales.
Búsqueda de nombres entre ámbitos.
La expresión global.

- Retorno de datos.

Retorno múltiple.

- Funciones de orden superior.

Filter y Map.

- Funciones Lambda.
- Funciones Recursivas.
- Funciones generadoras e iteradores.
- Sugerencias generales para programar con funciones.

Tema 8. Uso de módulos y paquetes en Python.

- Módulos.

Localización de módulos.
Archivos compilados de Python.

- Creando un módulo.
__name__

- Importación de módulos.
- Estructura de un Módulo.

Funciones help() y dir()

- Ejercicio guiado para la realización y utilización de módulos usuario.py

contrasena.py
validador.py

- Paquetes.
- Módulos de Python.

Módulo random.
Módulo datetime y time.
Módulo os.

Tema 9. Programación orientada a objetos en Python.

- Pensar en POO.

Cualidades de un objeto.

Objetos que comparten características.

Algo de vocabulario.

- Programación orientada a objetos o POO.

Abstracción.
Encapsulamiento.
Polimorfismo.
Herencia.

- La Clase.

Atributos.
Métodos.

- El Objeto.

Acceso al interior de un objeto.

- Herencia.

Subclase.
Métodos y atributos de la subclase.
El nuevo objeto.

- Herencia múltiple.
- Manteniendo el código privado (Encapsulación).
- Métodos especiales.

Método __str__
Métodos para operar matemáticamente.
Métodos Get Set & Delete.
Método __len

Tema 10.Manejo de errores, excepciones y archivos.

- Errores.

Error de sintaxis.

Excepciones o errores lógicos.

- Análisis de una excepción.
La función.
Analizando el error.

- Levantar excepciones.
- Manejando excepciones.

Excepción básica o general.
Excepciones por tipo.
Excepciones propias.
La expresión finally.

- Manejo de Archivos.

Modos al abrir un archivo.
Abriendo el archivo.
Métodos para manejo de archivos.
Ejemplo de gestión de archivos.

- Últimas anotaciones sobre manejo de archivos.

with.
Borrar mover y renombrar archivo.