Python decorator для класса аналитики данных - PullRequest
0 голосов
/ 28 сентября 2018

Мне нужно создать функцию декоратора, которая умножает входной параметр функции на десять, прежде чем функция будет вызвана.Затем создайте функцию с именем normal_function, которая принимает входное значение и отображает результат.Протестируйте ваш декоратор, чтобы убедиться, что отображаемое значение в десять раз больше, чем было передано в функцию normal_function.

def mult_decorator_function(a_normal_function):
  x = a_normal_function() * 10
  return x

@mult_decorator_function
def normal_function(x):
  print(x)

normal_function(10)

1 Ответ

0 голосов
/ 28 сентября 2018

Должен иметь вложенную функцию для декораторов, также необходимо иметь return вместо print:

def mult_decorator_function(a_normal_function):
    def wrapper(x):
        x = a_normal_function(x) * 10
        return x
    return wrapper

@mult_decorator_function
def normal_function(x):
  return x

print(normal_function(10))

Выход:

100
...