Я хотел бы иметь возможность обернуть функцию, но при этом разрешить необязательные (ключевые слова) аргументы во внешней функции. Я могу сделать это:
def outer(p1, p2, *a, **k):
inner(*a, **k)
но что, если я хочу, чтобы p2 был «необязательным аргументом»? Очевидно:
def outer(p1, p2=None, *a, **k):
inner(*a, **k)
не сработает, и я знаю, почему это не сработает. Мне интересно, есть ли хороший, чистый способ добиться этого. Есть ли какой-то известный шаблон или соглашение?
p2
в качестве аргумента только для ключевого слова? Если это так, попробуйте: Python 2.x - аргументы по умолчанию с *args и **kwargs - person Ashwini Chaudhary   schedule 23.12.2013