You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# La ultima funcion llama de vuelta a la otra funcion
7
+
# Es una forma de manejar tareas asincronicas
8
+
9
+
# Un callback serai como darle una tareas a un amigo y que este me avise cuando termino
10
+
11
+
defsaludar(nombre: str):
12
+
print(f'Hola {nombre}.')
13
+
14
+
defejecutar_callback(funcion, argumento):
15
+
print('Voy a ejecutar el callback ...')
16
+
funcion(argumento)
17
+
18
+
ejecutar_callback(saludar, 'Juan')
19
+
20
+
21
+
"""
22
+
Usos
23
+
"""
24
+
25
+
# Programación asíncrona: Por ejemplo, en manejo de eventos o cuando esperas que algo termine (como una descarga).
26
+
# Librerías o frameworks: Piensa en una interfaz gráfica (como Tkinter) donde defines qué pasa cuando haces clic en un botón.
27
+
# Procesamiento de datos: Como aplicar una función personalizada a cada elemento de una lista.
28
+
29
+
30
+
"""
31
+
Ejemplo:
32
+
33
+
Supóngamos que pedimos una pizza por teléfono. La pizzería nos dice: "Te llamamos cuando la pizza esté lista". Aquí, no sabes exactamente cuándo va a estar lista, pero confíamos en que nos avisarán. Ese "te llamamos" es el callback.
34
+
"""
35
+
36
+
# Creamos la funcion que prepara la pizza y nos avisa cuando este lista
37
+
defpedir_pizza(callback):
38
+
print('Preparando la pizza...')
39
+
for_inrange(3):
40
+
print('Hornenando la pizza...')
41
+
callback()
42
+
43
+
# Creamos la funcion que avisa cuando la pizza este lista
44
+
defpizza_lista():
45
+
print('La pizza esta lista, ven a recogerla.')
46
+
47
+
# Le damos la orden a la pizzeria de preparla y de avisarnos
48
+
pedir_pizza(pizza_lista)
49
+
50
+
51
+
"""
52
+
Extra
53
+
"""
54
+
55
+
importrandom
56
+
importtime
57
+
importthreading
58
+
59
+
60
+
defproceso_pedidos():
61
+
nombre_plato=input('Hola, ingresa el nombre del plato que deseas: ')
62
+
print(f'El plato que elegiste fue {nombre_plato}')
63
+
confirmacion(nombre_plato)
64
+
time.sleep(random.randint(1, 10))
65
+
listo(nombre_plato)
66
+
time.sleep(random.randint(1, 10))
67
+
entrega(nombre_plato)
68
+
69
+
threading.Thread(target=proceso_pedidos).start()
70
+
71
+
defconfirmacion(nombre_plato):
72
+
print(f'Tu plato {nombre_plato} esta en preparacion.')
73
+
74
+
deflisto(nombre_plato):
75
+
print(f'Tu pedido de {nombre_plato} esta listo.')
76
+
print('Lo estamos empacando')
77
+
78
+
defentrega(nombre_plato):
79
+
print(f'Gracias por tu espera. Tu plato {nombre_plato} ha sido entregado.')
0 commit comments