Hola, quisiera que me ayudaran, por favor, a entender por qué pesar que estoy aplicando (*args, **kwargs), en consola me arroja un error ...

Pregunta de la clase:
Programando decoradores
Andrés Cardona

Andrés Cardona

Pregunta
studenthace 3 años

Hola, quisiera que me ayudaran, por favor, a entender por qué pesar que estoy aplicando (*args, **kwargs), en consola me arroja un error TypeError, este es el código

from datetime import datetime def execution_time(func): def wrapper(*args, **kwargs): initial_time = datetime.now() func(*args, **kwargs) final_time = datetime.now() time_elapsed = final_time - initial_time print('Pasaron ' + str(time_elapsed.total_seconds()) + ' segundo') return wrapper @execution_time def random_func(): for _ in range(1, 100000000): pass @execution_time def suma(a: int, b: int) -> int: return a + b @execution_time def saludo(nombre = 'Andrés'): print('Hola' + nombre) random_func() saludo() suma(5 + 5)

esta es la salida en consola:

Pasaron 2.43186 segundo HolaAndrés Pasaron 0.000997 segundo Traceback (most recent call last): File "D:\Documentos\PLATZI\Escuela_Data_Science\Curso_Python_Profesional\decoradores.py", line 56, in <module> suma(5 + 5) File "D:\Documentos\PLATZI\Escuela_Data_Science\Curso_Python_Profesional\decoradores.py", line 34, in wrapper func(*args, **kwargs) TypeError: suma() missing 1 required positional argument: 'b'
1 respuestas
para escribir tu comentario
    José B. Méndez Padín

    José B. Méndez Padín

    studenthace 3 años

    Porque en la función suma estás sumando los valores 5 + 5. Por lo tanto, le estás pasando un valor, 10. Deberías poner una coma en vez del signo más.

Curso Profesional de Python

Curso Profesional de Python

Culmina tu aprendizaje sobre este vasto lenguaje de programación. Domina los conceptos que te llevarán a las condiciones necesarias para iniciar tu camino en la carrera de la industria tecnológica que prefieras: Backend, Ciencia de Datos, Inteligencia Artificial.

Curso Profesional de Python

Curso Profesional de Python

Culmina tu aprendizaje sobre este vasto lenguaje de programación. Domina los conceptos que te llevarán a las condiciones necesarias para iniciar tu camino en la carrera de la industria tecnológica que prefieras: Backend, Ciencia de Datos, Inteligencia Artificial.