I utilisé le script suivant pour évaluer si les valeurs de la fonction test
sont dans les limites:Comment retourner la valeur après la décoration?
x=[-5,5]
def test(x):
return x
def check(min,max):
def decorator(func):
def wrapper(*args,**kargs):
y=func(*args,**kargs)
for index in range(len(y)):
if y[index]>max:
y[index]=max
elif y[index]<min:
y[index]=min
return func(*args,**kargs)
return wrapper
return decorator
Dans ce test, le minimum est de 1 et un maximum de 1, de sorte que I utilisé pour la décoration de check(-1,1)(test(x))
test(x)
afin pour obtenir la valeur de sortie attendue comme [-1,1]
. Cependant, la sortie est:
<function __main__.check.<locals>.decorator.<locals>.wrapper>
qui n'est pas [-1,1]
prévu.