Pruebas de decorador de clase de pitón
Estoy tratando de pasar argumentos opcionales a mi decorador de clase en python. Debajo del código que tengo actualmente:
class Cache(object):
def __init__(self, function, max_hits=10, timeout=5):
self.function = function
self.max_hits = max_hits
self.timeout = timeout
self.cache = {}
def __call__(self, *args):
# Here the code returning the correct thing.
@Cache
def double(x):
return x * 2
@Cache(max_hits=100, timeout=50)
def double(x):
return x * 2
El segundo decorador con argumentos para sobrescribir el predeterminado max_hits=10, timeout=5
en mi__init__
función), no funciona y obtuve la excepciónTypeError: __init__() takes at least 2 arguments (3 given)
. Intenté muchas soluciones y leí artículos al respecto, pero aquí todavía no puedo hacer que funcione.
¿Alguna idea para resolver esto? ¡Gracias