Fundamentos de Programación y Python

1

¿Por qué aprender Python?

2

Introducción a Python

3

Conceptos Básicos de Programación

4

Práctica: Te doy la bienvenida a los ejercicios interactivos

5

Manipulación de Cadenas de Texto en Python

6

Enteros, Flotantes y Booleanos

7

Todo lo que Debes Saber sobre print en Python

8

Operaciones Matemáticas en Python

9

Operaciones de Entrada/Salida en Consola

Colección y Procesamiento de Datos en Python

10

Listas

11

Método slice

12

Listas de más dimensiones y Tuplas

13

Aplicación de Matrices

14

Diccionarios

15

Comprehension Lists en Python (CLASE NUEVA)

Control de Flujo en Python

16

Estructuras condicionales

17

Bucles y Control de Iteraciones

18

Generadores e Iteradores

Funciones y Manejo de Excepciones en Python

19

Uso de Funciones en Python

20

Funciones Lambda y Programación Funcional en Python

21

¿Cómo realizar una función recursiva en Python?

22

Manejo de Excepciones y Uso de Pass (CLASE NUEVA)

Programación Orientada a Objetos en Python

23

Fundamentos de Programación Orientada a Objetos en Python

24

Ejercicio Biblioteca con POO

25

Herencia en POO con Python

26

Objetos heredados

27

Los 4 pilares de la programacion orientada a objetos

28

Uso de super() en Python (CLASE NUEVA)

29

Superando los Fundamentos de Programación Orientada a Objetos en Python

Lectura y escritura de archivos

30

Manejo de Archivos .TXT (CLASE NUEVA)

31

Manejo de Archivos CSV (CLASE NUEVA)

32

Manejo de Archivos JSON (CLASE NUEVA)

Biblioteca estándar de Python

33

Biblioteca estándar en Python (CLASE NUEVA)

34

Librería Os, Math y Random (CLASE NUEVA)

35

Librería Statistics y Análisis Estadístico (CLASE NUEVA)

36

Proyecto final: Guerra naval

Conceptos avanzados de Python

37

Recapitulación de lo aprendido hasta ahora

38

Escribir código Pythonico y profesional

39

Comentarios y Docstrings en Python

40

Scope y closures: variables locales y globales

41

Anotaciones de tipo

42

Validación de tipos en métodos

43

Librería Collections y Enumeraciones

Decoradores

44

Decoradores en Python

45

Decoradores anidados y con parámetros

46

Uso de Decoradores en clases y métodos

Métodos y estructura de clases en Python

47

Métodos mágicos

48

Sobrecarga de operadores

49

Implementación de `if __name__ == "__main__":`

50

Metaprogramación en Python

51

Uso de *args y **kwargs

52

Métodos privados y protegidos

53

Gestión avanzada de propiedades

54

Métodos estáticos y de clase avanzados

Programación concurrente y asíncrona

55

Introducción a la concurrencia y paralelismo

56

Threading y multiprocessing en Python

57

Asincronismo con asyncio

58

Asincronismo y concurrencia

Creación de módulos y paquetes

59

Creación de módulos en Python

60

Gestión de paquetes

61

Publicación de paquetes en PyPI

Proyecto final

62

Implementación de un sistema completo

63

Implementación de un Sistema Completo

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Curso de Python

Curso de Python

Carli Code

Carli Code

Implementación de un sistema completo

62/63
Recursos

¿Qué habilidades aprendiste en este curso?

Este curso ha sido un viaje educativo fascinante en el mundo de Python, donde no solo aprendiste a escribir código de manera eficaz, sino que también te introdujiste en programación orientada a objetos, manejo de concurrencia, sincronización y creación de paquetes. Exploraste cómo implementar las mejores prácticas del lenguaje para mejorar tus habilidades como desarrollador.

¿Cómo utilizar las mejores prácticas al escribir código Paitónico?

Adoptar prácticas Paitónicas implica escribir código limpio, legible y eficiente. Algunas de estas prácticas incluyen:

  • Usar convenciones de nomenclatura adecuadas: Asegúrate de seguir el estándar de convenciones propuesto por Python, como nombres de variables en minúsculas y utilizar guion bajo para separar palabras (e.g.: mi_variable).
  • Emplear comentarios y docstrings: Documenta siempre tu código para hacerlo comprensible para otros programadores y tu yo futuro.
  • Simplificar el código: El mantra es “mantenerlo simple”. No sobrecomplicar funciones y asegurarte de que sean pequeñas y específicas.

¿Cómo añadir características a métodos orientados a objetos?

La programación orientada a objetos te abrió un camino hacia estructuras más organizadas. Aprendiste a:

  • Usar decoradores: Estos permiten modificar el comportamiento de funciones o métodos de una manera limpia y reutilizable.
  • Crear clases y objetos: Usar clases para definir estructuras con métodos y atributos, lo que facilita la gestión de datos complejos.

¿Qué es la concurrencia y sincronización en Python?

El manejo de concurrencia y asincronía en Python puede optimizar ampliamente tus programas, especialmente en tareas que pueden realizarse de manera simultánea, como peticiones de red o procesamiento de datos en segundo plano.

  • Concurrencia: Permite ejecutar múltiples operaciones al mismo tiempo, mejorando la eficiencia del programa.
  • Asincronía: Usa asyncio para manejar tareas que se puedan ejecutar concurrentemente sin bloquear el flujo de tu programa.

¿Cómo crear un sistema de gestión de reservas para un hotel?

Vamos a aplicar los conceptos aprendidos creando un sistema que gestiona reservas de hotel. Este sistema constará de varios componentes y funcionalidades.

¿Cuáles son los archivos clave en el proyecto?

El proyecto se compone de cuatro archivos principales:

  1. Reservas: Donde cada cliente podrá hacer una reserva de una habitación.
  2. Pagos: Gestión de los pagos de las reservas.
  3. Habitaciones: Control de disponibilidad de habitaciones.
  4. Main: Archivo principal que importa librerías y centraliza acciones.

¿Cómo estructurar el proyecto en Visual Studio Code?

Al observar la estructura del proyecto, notarás que hay dos carpetas en los recursos del curso:

  • Solución completa del proyecto: Una carpeta con la solución finalizada.
  • Plantilla: Estructura básica del proyecto que debes completar.

Además, contarás con instrucciones detalladas paso a paso para guiarte en la implementación del sistema de reservas.

¿Cómo se utilizan las clases y funciones en este proyecto?

En este sistema, utilizarás clases para manejar reservas y gestionar las habitaciones. Aquí es donde la orientación a objetos muestra su potencia, permitiéndote instanciar objetos y gestionar el estado de cada reserva e interacción con las habitaciones.

¿Cómo gestionar las reservas y pagos?

Los archivos de sistemas asíncronos y funciones proporcionan las directrices para recibir parámetros y gestionar cada aspecto de las reservas y los pagos de forma eficaz.

¿Cómo completar este curso?

Finalmente, tienes dos opciones para finalizar este curso: presentar un examen o completar el proyecto de gestión de reservas. La elección dependerá de tu preferencia personal y de cómo prefieras consolidar el conocimiento aprendido.

Si tienes dudas o deseas compartir tus aportes, puedes dejarlos en la sección de comentarios del curso. Carly, tu instructora, está disponible en redes sociales como carly.code para cualquier cuestión adicional. ¡Continúa explorando y nunca dejes de aprender!

Aportes 6

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Una crack! la profe. @carli.
### Definir las Clases Básicas:```python class Habitacion: def __init__(self, numero, tipo, precio): self.numero = numero self.tipo = tipo self.precio = precio self.ocupada = False def reservar(self): if not self.ocupada: self.ocupada = True return True return False def liberar(self): if self.ocupada: self.ocupada = False return True return False class Hotel: def __init__(self, nombre, direccion): self.nombre = nombre self.direccion = direccion self.habitaciones = [] def agregar_habitacion(self, habitacion): self.habitaciones.append(habitacion) def reservar_habitacion(self, numero): for habitacion in self.habitaciones: if habitacion.numero == numero: return habitacion.reservar() return False def liberar_habitacion(self, numero): for habitacion in self.habitaciones: if habitacion.numero == numero: return habitacion.liberar() return False def obtener_disponibilidad(self): disponibles = [hab for hab in self.habitaciones if not hab.ocupada] return disponibles ```
Excelente curso brindado por la profesora Carli, se nota su conocimiento y lo mucho que le apasiona compartirlo. Quiero ver el resto de cursos más cursos de Python con ella.
Pensé que nunca llegaría a esta parte jejeje El curso esta bueno, pero necesita algunas correcciones y ampliar en ciertas partes por lo demás todo bien.
Excelente clase y profe!!
Buenas, a alguien más no le aparecen las plantillas en recursos?