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

Gestión de paquetes

60/63
Recursos

Aportes 9

Preguntas 1

Ordenar por:

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

```python from ecommerce.inventory.stock import add_product, remove_product from ecommerce.sales.orders import process_sale add_product('PS5', 4) remove_product('PS4') process_sale('PS5', 1) ```from ecommerce.inventory.stock import add\_product, remove\_productfrom ecommerce.sales.orders import process\_sale add\_product('PS5', 4)remove\_product('PS4')process\_sale('PS5', 1)
ni tocaron la estructura del **init** entonces no me queda claro para que o que hace ese file o como organiza la estructura dentro del directorio.
```js from ecommerce.inventory.stock import add_product, remove_product from ecommerce.sales.orders import process_sale add_product("Laptop",2) remove_product("Laptop",2) process_sale("Laptop",2) ```
en mi caso me sale un warning en mls imports dice import'hotelManagement' COULD NOT BE RESOLVE, INTENTE MODIFICAR EL PYTHONPATH DESDE LA NOSOLA AGREGANDO LA RUTA DE MI FOLDER HOTELManagement, y tambien intente modificar el archivo json de vscode de los settings en el atributo python.autocomplet.extraPaths añadiendo a el la ruta de mi carpeta pero me dice vscode que el archivo es de solo lectura. alguien me guia sobre el porque de este warning y como solventarlo please?
```python #Importa funciones de los modulos dentro del paquete from ecommerce.inventory.stock import add_product, remove_product from ecommerce.sales.orders import process_sale add_product('Iphone', 100) remove_product('Iphone') process_sale('Iphone', 2) ```
```js from ecommerce.inventory.stock import add_product, remove_product from ecommerce.sales.orders import process_sales add_product('PC', 5) remove_product('PC') process_sales('PC', 3) ```from ecommerce.inventory.stock import add\_product, remove\_productfrom ecommerce.sales.orders import process\_sales add\_product('PC', 5)remove\_product('PC')process\_sales('PC', 3)
### Gestión de Entornos Virtuales Para evitar conflictos entre dependencias de diferentes proyectos, es recomendable usar entornos virtuales. Puedes crear y activar un entorno virtual usando `venv`: ```python # Crear un entorno virtual python -m venv mi_entorno # Activar el entorno virtual # En Windows mi_entorno\Scripts\activate # En Unix o MacOS source mi_entorno/bin/activate ```
### Uso de `Poetry` Además de `pip`, hay otras herramientas como `Poetry` que facilitan la gestión de dependencias y la creación de paquetes. `Poetry` proporciona una forma más moderna y completa de manejar tus proyectos Python.
La \*\*gestión de paquetes\*\* en Python permite organizar, reutilizar y distribuir módulos o grupos de módulos de manera eficiente. Los \*\*paquetes\*\* son carpetas con módulos (archivos `.py`) y un archivo especial `\_\_init\_\_.py`, que convierte la carpeta en un paquete reconocible por Python. Esta organización es clave para proyectos de gran tamaño, donde diferentes funcionalidades se agrupan en paquetes separados, manteniendo el código limpio y modular. \### ¿Qué es un Paquete? Un paquete en Python es una colección de módulos organizados en una estructura de carpetas, donde cada módulo puede contener funciones, clases y variables relacionadas. Esta estructura modular facilita: 1\. \*\*Organización del código\*\* en componentes lógicos. 2\. \*\*Reutilización y distribución\*\* del código en otros proyectos. 3\. \*\*Escalabilidad\*\* en proyectos complejos, separando funcionalidades en varios paquetes. \### Estructura Básica de un Paquete Un paquete debe incluir un archivo `\_\_init\_\_.py` en su carpeta principal para que Python reconozca la carpeta como un paquete importable. Aunque `\_\_init\_\_.py` puede estar vacío, generalmente se utiliza para importar submódulos o funciones comunes. Ejemplo de una estructura de paquete: ``` mi\_proyecto/ │ ├── mi\_paquete/ │ ├── \_\_init\_\_.py │ ├── operaciones\_matematicas.py │ └── operaciones\_texto.py └── main.py ``` \### Ejemplo de Paquete \#### Paso 1: Crear los Módulos en el Paquete Dentro de `mi\_paquete`, crea dos archivos: \- \*\*`operaciones\_matematicas.py`\*\*: Contiene funciones matemáticas. \- \*\*`operaciones\_texto.py`\*\*: Contiene funciones para manipular texto. \*\*Contenido de `operaciones\_matematicas.py`:\*\* ```python \# mi\_paquete/operaciones\_matematicas.py def sumar(a, b): return a + b def restar(a, b): return a - b ``` \*\*Contenido de `operaciones\_texto.py`:\*\* ```python \# mi\_paquete/operaciones\_texto.py def contar\_palabras(texto): return len(texto.split()) def a\_mayusculas(texto): return texto.upper() ``` \#### Paso 2: Configurar `\_\_init\_\_.py` El archivo `\_\_init\_\_.py` dentro de `mi\_paquete` puede usarse para controlar qué funciones o módulos se exponen al importar el paquete. \*\*Contenido de `\_\_init\_\_.py`:\*\* ```python \# mi\_paquete/\_\_init\_\_.py from .operaciones\_matematicas import sumar, restar from .operaciones\_texto import contar\_palabras, a\_mayusculas ``` \### Paso 3: Usar el Paquete en `main.py` Crea el archivo `main.py` fuera de la carpeta del paquete. Aquí puedes importar y usar las funciones definidas en `mi\_paquete`. \*\*Contenido de `main.py`:\*\* ```python \# main.py from mi\_paquete import sumar, restar, contar\_palabras, a\_mayusculas print("Suma:", sumar(5, 3)) print("Resta:", restar(10, 4)) print("Número de palabras:", contar\_palabras("Este es un ejemplo")) print("Texto en mayúsculas:", a\_mayusculas("texto en minúsculas")) ``` \### Ejecución del Ejemplo Para ejecutar el ejemplo: 1\. Asegúrate de estar en el directorio donde se encuentra `main.py`. 2\. Ejecuta `main.py` con: ```bash python main.py ``` La salida debería ser algo similar a: ``` Suma: 8 Resta: 6 Número de palabras: 4 Texto en mayúsculas: TEXTO EN MINÚSCULAS ``` \### Gestión de Paquetes con `pip` Si deseas compartir o distribuir el paquete, puedes crear un archivo `setup.py`, que facilita la instalación del paquete mediante `pip`. Esto es útil para distribuir el paquete a otros usuarios o para subirlo a PyPI (Python Package Index). \*\*Ejemplo de `setup.py`:\*\* ```python \# setup.py from setuptools import setup, find\_packages setup( name='mi\_paquete', version='0.1', packages=find\_packages(), description='Un paquete de ejemplo para operaciones matemáticas y de texto', author='Tu Nombre', author\_email='tu\[email protected]', ) ``` Para instalar el paquete en tu entorno local: ```bash pip install . ``` \### Resumen 1\. \*\*Estructura de Paquete\*\*: Organiza el proyecto en carpetas y módulos con un archivo `\_\_init\_\_.py`. 2\. \*\*Modularidad y Reutilización\*\*: Puedes reutilizar módulos y funciones en otros proyectos. 3\. \*\*Distribución\*\*: Usa `setup.py` para facilitar la instalación y compartir el paquete. Crear paquetes en Python es fundamental para desarrollar aplicaciones escalables, modulares y reutilizables, permitiendo que el código sea mantenible y fácil de distribuir.