Имеется ли что-то против того, чтобы у обёртываемой декоратором функции и обёртки, возвращаемой декоратором, были разные наборы аргументов?
Типа такого:
#!/usr/bin/python
# -*- coding: utf-8 -*-
def decorator(func):
def wrapper(x):
func(x, 1)
return wrapper
@decorator
def wrapped(x, y):
print x, y
wrapped(3) # печатает 3 1
wrapped(1, 2) # здесь ошибка: TypeError: wrapper() takes exactly 1 argument (2 given)