Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- def multiply(*params, **kwparams):
- print('multiply params: ', params, kwparams)
- def decorator(function):
- def wrapper(*args, **kwargs):
- args = list(args)
- print('function params: ', args, kwargs)
- for index, arg in enumerate(args):
- if index < len(params):
- args[index] *= params[index]
- for key in kwargs:
- if key in kwparams:
- kwargs[key] *= kwparams[key]
- return function(*args, **kwargs)
- return wrapper
- return decorator
- # goal: multiply each param passed to "add" to values passed to decorator, then "add" sums them all
- @multiply(4, 5, x=2, y=3)
- def add(*args, **kwargs):
- print('add: ', args, kwargs)
- return sum(args + tuple(kwargs.values()))
- def multiply(*params, **kwparams):
- print('multiply params: ', params, kwparams)
- def decorator(function):
- def wrapper(*args, **kwargs):
- args = list(args)
- print('function params: ', args, kwargs)
- for index, arg in enumerate(args):
- if index < len(params):
- args[index] *= params[index]
- for key in kwargs:
- if key in kwparams:
- kwargs[key] *= kwparams[key]
- return function(*args, **kwargs)
- return wrapper
- return decorator
- # goal: multiply each param passed to "add" to values passed to decorator, then "add" sums them all
- @multiply(4, 5, x=2, y=3)
- def add(*args, **kwargs):
- print('add: ', args, kwargs)
- return sum(args + tuple(kwargs.values()))
- print('result: ', add(1, 2, y=6))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement