Tag: PYTHON-DECORATORS
Veo muchos ejemplos de envolver decoradores personalizados, pero todos son sobre decoradores personalizados. Tengo un decorador de terceros que se puede utilizar de esta manera: @someSDK myFunction() Lo que quiero hacer es envolver esto en mi propio decorador que llame a @someSDK solo si una env está configurada en verdadero. . . . Read more
Tengo una función que puede recibir 3 argumentos. Solo X es obligatorio y podría escribir esta función como siguiente: python def foo(X, A=None, B=None): pass Pero quiero obligar al usuario a llamar a esta función pasando explícitamente los argumentos python foo(X=1, A=2, B=3) foo(1, 2, 3) # Error ¿Es posible . . . Read more
“` número = 5 print(número.class) print(str(número)) print(número.add(1)) Output: 5 6 Supongo que estoy tratando de ver si lo entiendo correctamente. Así que hay diferentes formas de acceder a los métodos dunder. En el primer caso, parece que estoy accediendo al método como si fuera un atributo de la clase int. . . . Read more
Estoy tratando de usar mi decorador de función de tiempo para registrar el tiempo de proceso de la función de Fibonacci. Pero parece que el decorador está registrando varias veces: def timer_func(func): def inner_func(*args): t1 = perf_counter() res = func(*args) t2 = perf_counter() logging.log(logging.INFO, f”Hecho en {t2 – t1} segundos!”) . . . Read more
Tengo el siguiente gestor de contexto y decorador para medir el tiempo de cualquier función o bloque de código: import time from contextlib import ContextDecorator class timer(ContextDecorator): def <strong>init</strong>(self, label: str): self.label = label <pre><code>def __enter__(self): self.start_time = time.perf_counter() return self def __exit__(self, *exc): net_time = time.perf_counter() – self.start_time print(f”{self.label} . . . Read more