- 1
Introducción a Python: Instalación y Conceptos Básicos
07:16 - 2
Desarrollo de CRUD con Python 3
00:18 - 3
Configuración de Ubuntu en Windows 10 para Ejecutar Comandos Linux
01:00 - 4

Curso Avanzado de Python: Actualización y Creación de Aplicaciones CLI
06:28 - 5

Programación gráfica básica con Python y Turtle
10:09 - 6

Operadores y Valores en Programación Python
10:04 - 7

Variables y Expresiones en Python: Tipos, Asignación y Reglas Básicas
12:33 - 8

Creación de Aplicación CLI para Gestión de Ventas y Clientes en Python
06:54 - 9

Funciones en Python: Declaración y Uso Básico
09:31 - 10

Funciones y Variables Globales en Python: Crear y Listar Clientes
06:18 - 11

Estructuras Condicionales y Booleanas en Programación
11:01 - 12

Personalización de Programas con Funciones y Condicionales en Python
08:08
Implementación de List Clients en Client Services
Clase 42 de 49 • Curso Práctico de Python: Creación de un CRUD
Contenido del curso
- 13

Manipulación de Cadenas en Python: Índices y Memoria
09:42 - 14

Operaciones y métodos útiles para manipular strings en Python
06:16 - 15

Actualización de Clientes en Python: Implementación de Funciones
09:11 - 16

Implementación del Comando Delete en CRUD de Clientes
05:57 - 17

Manipulación de secuencias en Python con slices
09:45 - 18

Iteraciones en Python: Uso de For y While Loops
13:02 - 19

Bucles While en Python: Uso y Manejo de Errores Comunes
14:05 - 20
Iteradores y Generadores en Python: Creación y Uso Práctico
01:14
- 21

Uso de listas
11:51 - 22

Operadores y Métodos para Manipular Listas en Python
15:28 - 23

Manipulación de Listas en Programación Python
08:46 - 24

Diccionarios en Python: Uso y Métodos Básicos
09:16 - 25

Diccionarios en Python para Gestión de Clientes
12:26 - 26

Tuplas y Conjuntos en Python: Características y Usos Prácticos
07:18 - 27

Tuplas y Sets en Python: Conceptos y Usos Básicos
08:49 - 28
Colecciones Avanzadas en Python: UserDict, namedtuple y más
01:35 - 29

Comprehensions en Python: Listas, Diccionarios y Sets
11:12 - 30

Algoritmos de Búsqueda: BruteForce vs. Búsqueda Binaria en Python
07:06 - 31

Búsqueda Binaria en Python: Implementación Recursiva y Iterativa
10:00 - 32

Manipulación de archivos en Python 3
00:15
- 33

Introducción a Decoradores en Python: Modifica Funciones Eficazmente
03:29 - 34

Decoradores en Python: Creación y Uso Efectivo
13:37 - 35

Programación Orientada a Objetos: Principios y Aplicaciones
06:11 - 36

Conceptos Básicos de Programación Orientada a Objetos en Python
08:04 - 37
Names y Namespaces en Python: Conceptos Fundamentales
01:58 - 38

Uso de Click para Aplicaciones de Línea de Comandos en Python
03:15 - 39

Estructura y Comandos Básicos para Aplicaciones CLI en Python
14:36 - 40

Modelado de Clientes y Servicios en Python OOP
10:17 - 41

Recopilación de datos del usuario con CLI en Python
06:57 - 42

Implementación de List Clients en Client Services
07:49 - 43

Actualización de Clientes en Python: Implementación y Guardado en Disco
06:14 - 44

Actualización de Clientes en Interfaz de Comando
07:44 - 45

Manejo de Errores en Python: Try, Except, Else y Finally
07:47 - 46
Gestión de Contextos en Python: Clases y Generadores
01:30
¿Cómo listar los clientes desde client services?
Llega un punto crucial en el desarrollo de software donde necesitamos interactuar con nuestros datos de manera efectiva. En este caso, se trata de implementar un método que nos permita listar a los clientes desde client services para entender mejor quienes son nuestros clientes. La forma en que gestionamos nuestros datos puede determinar el éxito de nuestras aplicaciones.
Para implementar el método list en client services, se debe empezar declarando un nuevo método llamado list_clients, el cual no necesita argumentos externos, solo self. El propósito principal es abrir el archivo donde se guarda la referencia a nuestra tabla de clientes en modo de lectura (usando el modo r para leer).
¿Cómo se utiliza el Reader?
La lectura de datos se realiza mediante un lector dict. Este proceso se lleva a cabo rápidamente utilizando DictReader que recibe como parámetros el archivo y los nombres de los campos (fieldnames) extraídos de client_skema. Es importante recordar que el Reader es un iterable, y para convertirlo en una lista usable, utilizamos la función global list. Así, el método devuelve una lista de clientes.
def list_clients(self):
with open(self.filename, mode='r') as f:
reader = DictReader(f, fieldnames=ClientSchema().FIELD_NAMES)
return list(reader)
¿Cómo integrar la interfaz de comandos para mostrar a los clientes?
Una vez que tenemos el método para listar a nuestros clientes, el siguiente paso es presentarlos de manera amigable en la consola. Para ello, se hace necesario crear una interfaz en los comandos.
¿Cómo se define el comando list en la consola?
Primero, se busca e identifica dónde se declaran los comandos. En este caso, el comando list no necesita argumentos adicionales ni opciones, al contrario de lo que ocurre con el comando create. Se inicia instanciando la clase ClienteService, pasando el nombre de la tabla correspondiente. Luego, se genera una tabla para visualizar los resultados:
- Se imprimen los encabezados: ID, Name, Company, Email, y Position.
- Se dibuja una línea para separar los encabezados de los datos.
- Se itera sobre la lista de clientes, formateando un string para cada uno y presentando sus datos.
¿Por qué usar clic eco en vez de print?
El uso de clic eco garantiza que el comportamiento de nuestra impresión en consola sea consistente a través de diferentes sistemas operativos, problema que podría presentarse con print. Por lo tanto, reemplazamos las llamadas print por clic eco para asegurar esta uniformidad.
# Reemplazo de llamadas print por clic eco
click.echo('ID Name Company Email Position')
click.echo('-' * 60)
for client in client_list:
click.echo('{} {} {} {} {}'.format(
client['uid'],
client['name'],
client['company'],
client['email'],
client['position']
))
¿Cómo ejecutar y probar el programa?
Finalmente, una vez que hemos implementado y adaptado correctamente los métodos y comandos, es momento de probar el programa:
- Se invoca a
listmediante el comandop b clients list, mostrando el primer cliente. - Se puede crear un nuevo cliente, ingresando los datos como nombre, compañía, email y posición.
- Luego, nuevamente al ejecutar
p b clients list, veremos que aparecen los dos clientes, lo cual demuestra que el programa está funcionando correctamente.
Este progreso refleja un paso significativo, dando claridad sobre cómo gestionar datos en una aplicación que poco a poco se asemeja a lo que se necesita en la industria. ¡Es un gran momento para celebrar y seguir avanzando en el aprendizaje!