Curso de Programación en Pythón 3.

Lista de deseos Compartir
Compartir el curso
Enlace de página
Compartir en los medios sociales

Acerca de este curso

Python es un lenguaje de programación de alto nivel, interpretado y de propósito general, conocido por su sintaxis legible y fácil de aprender, lo que lo hace ideal para principiantes. Se utiliza ampliamente en desarrollo web, ciencia de datos, inteligencia artificial, desarrollo de software y automatización. Python es multiplataforma y ofrece flexibilidad al soportar múltiples paradigmas de programación, incluyendo orientación a objetos, imperativa y funcional.

Índice del curso

1. Fundamentos de Python

1.1 Introducción a Python

  • Breve historia del lenguaje
  • Filosofía y principios (“The Zen of Python”)
  • Ventajas y aplicaciones reales: Web, IA, DevOps, Ciencia de Datos, Automatización, etc.
  • Ventajas y desventajas frente a otros lenguajes
  • Ecosistema y comunidad

1.2 Instalación y Configuración del Entorno

  • Instalación de Python (Windows, Linux, macOS)
  • Variables de entorno y PATH
  • Uso de IDLE, VS Code, PyCharm y Jupyter
  • Entornos virtuales con venv y pip
  • Ejecución del primer script: Hola, Mundo

1.3 Tipos de Datos Fundamentales

  • Números (int, float, complex)
  • Cadenas (str): concatenación, slicing y métodos comunes
  • Booleanos (bool) y valores de verdad
  • Conversión entre tipos (casting)

1.4 Variables y Buenas Prácticas

  • Declaración y asignación
  • Tipado dinámico y mutabilidad
  • Convenciones de nombres (snake_case, PEP 8)
  • Uso de constantes, comentarios y documentación mínima

2. Operadores y Control de Flujo

2.1 Operadores

  • Aritméticos, de comparación y lógicos (and, or, not)
  • De asignación
  • De pertenencia (in, not in)
  • De identidad (is, is not)

2.2 Estructuras Condicionales

  • if, elif, else
  • Condiciones anidadas
  • Operador ternario
  • Buenas prácticas de legibilidad

2.3 Bucles y Control de Iteración

  • for con range() y sobre colecciones
  • while
  • Palabras clave break, continue, pass
  • Bucles anidados
  • Iteración con enumerate() y zip()

3. Funciones y Manejo de Errores

3.1 Funciones en Python

  • Definición y sintaxis (def)
  • Parámetros y argumentos (*args, **kwargs)
  • Valores de retorno
  • Alcance de variables (scope)
  • Documentación con docstrings
  • Funciones lambda
  • Anotaciones de tipo (type hints)

3.2 Manejo de Excepciones

  • Errores comunes en Python
  • Bloques try, except, else, finally
  • Lanzamiento de excepciones con raise
  • Jerarquía de excepciones
  • Depuración con assert

4. Estructuras de Datos

4.1 Listas (list)

  • Creación, indexación y slicing
  • Métodos (append, insert, remove, sort, etc.)
  • Iteración y búsqueda de elementos

4.2 Tuplas (tuple)

  • Inmutabilidad y ventajas de uso
  • Desempaquetado de valores
  • Conversión entre listas y tuplas

4.3 Diccionarios (dict)

  • Pares clave-valor
  • Acceso, modificación y eliminación
  • Iteración y métodos (keys, values, items)
  • Diccionarios anidados

4.4 Conjuntos (set)

  • Creación y eliminación de duplicados
  • Operaciones matemáticas: unión, intersección, diferencia
  • Métodos comunes (add, discard, update)

4.5 Comprehensions

  • List comprehensions
  • Dict y set comprehensions
  • Condicionales en comprensiones
  • Comprensiones anidadas y optimización

5. Programación Orientada a Objetos (POO)

5.1 Clases y Objetos

  • Definición de clases (class)
  • Constructor __init__ y atributos
  • Métodos de instancia y de clase
  • Métodos especiales (__str__, __repr__)

5.2 Encapsulación

  • Variables privadas y protegidas
  • Propiedades con @property
  • Métodos estáticos y de clase (@staticmethod, @classmethod)

5.3 Herencia

  • Herencia simple y múltiple
  • Uso de super()
  • Reutilización y extensión de código

5.4 Polimorfismo

  • Sobrecarga y sobrescritura de métodos
  • Clases abstractas y módulo abc
  • Interfaces y polimorfismo dinámico

5.5 Composición y Diseño Modular

  • Composición de objetos (relaciones has-a)
  • Modularización y paquetes (__init__.py)
  • Estructura profesional de proyectos
  • Patrones de diseño básicos

6. Línea de Comandos de Python

6.1 Intérprete Interactivo

  • Uso de python o python3
  • Diferencias entre modo interactivo y scripts
  • Comandos básicos (help(), dir(), type())

6.2 Ejecución de Scripts

  • Ejecución de archivos .py
  • Rutas absolutas y relativas
  • Permisos de ejecución en Unix/Linux

6.3 Argumentos desde la Terminal

  • Uso del módulo sys.argv
  • Lectura y validación de parámetros
  • Ejemplo práctico: script con argumentos

6.4 Modo REPL Avanzado

  • Historial y autocompletado
  • Variables especiales (_, __doc__, etc.)
  • Exploración con IPython y Jupyter

6.5 Casos Prácticos desde Terminal

  • Ejecución rápida con python -c
  • Automatización con os.system()
  • Ejemplo: ejecución programada con cron

7. Extra (Opcional para tu Curso Avanzado)

7.1 Manejo de Archivos

  • Lectura y escritura con open()
  • Manejo de rutas (os, pathlib)
  • Archivos CSV y JSON
  • Uso de context managers (with)

7.2 Módulos y Librerías Estándar

  • Librerías comunes: math, random, datetime, os, sys
  • Creación e importación de módulos propios
  • Exploración del entorno con help() y dir()

7.3 Entornos Virtuales y Dependencias

  • Introducción a venv
  • Instalación de librerías con pip
  • Uso del archivo requirements.txt
  • Buenas prácticas en entornos de desarrollo

8. Hilos y Tareas

8.1 Conceptos de Concurrencia y Paralelismo

  • Diferencia entre multitarea, multihilo y multiproceso
  • Concurrencia vs. paralelismo
  • Limitaciones del GIL (Global Interpreter Lock)

8.2 Programación con threading

  • Creación y ejecución de hilos
  • Sincronización (Lock, RLock, Semaphore, Event)
  • Comunicación entre hilos (Queue)
  • Ejemplo práctico: tareas concurrentes o descargas simultáneas

8.3 Programación Asíncrona con asyncio

  • Sintaxis async y await
  • Corutinas y tareas
  • Ejecución concurrente con asyncio.run()
  • Ejemplo: peticiones HTTP asíncronas

8.4 Multiprocesamiento con multiprocessing

  • Creación y ejecución de procesos independientes
  • Comunicación entre procesos (Pipe, Queue)
  • Uso del Pool de procesos
  • Ejemplo: procesamiento en paralelo de datos

8.5 Buenas Prácticas en Concurrencia

  • Evitar condiciones de carrera
  • Uso correcto de bloqueos
  • Optimización y rendimiento
  • Cuándo usar hilos, procesos o async

9. Mini Proyecto Final

  • Integración de los conocimientos aprendidos
  • Desarrollo de un programa práctico (gestor, calculadora, etc.)
  • Documentación y estilo (PEP 8)
Nuestra puntuación
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)
Mostrar más

Contenido del curso

Fundamentos de Python
Los fundamentos de Python incluyen la sintaxis (sangría para bloques de código), los tipos de datos básicos (numéricos, booleanos, cadenas de texto), las variables, el control de flujo (condicionales como if/elif/else y bucles como for/while), y las funciones (bloques de código reutilizables).

Operadores y Control de Flujo
Los operadores en Python se clasifican en varios tipos (aritméticos, de comparación, lógicos, de asignación, etc.), mientras que el control de flujo se refiere al orden en que se ejecutan las instrucciones, modificándolo con estructuras como if, elif, else (condicionales), y for o while (bucles). Las instrucciones break, continue y pass también controlan el flujo dentro de los bucles.

Funciones y Manejo de Errores
Las funciones en Python son bloques de código reutilizables, mientras que el manejo de errores (excepciones) se hace con los bloques try, except, else y finally para gestionar errores de ejecución y evitar que el programa se detenga abruptamente. try ejecuta un código, except lo captura si ocurre un error específico, else se ejecuta si no hay error y finally se ejecuta siempre, haya o no error.

Estructuras de Datos
Las estructuras de datos principales en Python son las listas, tuplas, diccionarios y conjuntos. Estos tipos de datos se diferencian por su mutabilidad (si sus elementos se pueden cambiar después de su creación) y si mantienen el orden de los elementos. Las listas son ordenadas y mutables, mientras que las tuplas son ordenadas e inmutables. Los diccionarios son colecciones no ordenadas de pares clave-valor, y los conjuntos son colecciones desordenadas de elementos únicos.

Programación Orientada a Objetos (POO)
La Programación Orientada a Objetos (POO) en Python es un paradigma que organiza el código en torno a objetos, que son instancias de clases. Las clases actúan como plantillas que definen los atributos (datos) y métodos (comportamientos) de los objetos, permitiendo crear programas más modularizados, reutilizables y fáciles de mantener. Python soporta conceptos clave de la POO como la herencia, el encapsulamiento y el polimorfismo.

Valoraciones y reseñas de estudiantes

Aún no hay reseñas.
Aún no hay reseñas.
Scroll al inicio