Источник: Nuances of Programming Знаете ли вы, как принудительно задавать именованные аргументы, создавать декоратор функций и анонимные функции или распаковывать массив или словарь в аргументы функции? Предлагаем вашему вниманию четыре продвинутых приема работы с функциями Python. 1. Принудительно задаваемые именованные аргументы У именованных аргументов есть несколько преимуществ: Возможно, все это вам уже знакомо. Но знаете ли вы о возможности принудительно задавать именованные аргументы? Подробно это описано в PEP 3202. Если вкратце, то все сводится к использованию звездочки перед каждым аргументом, который будет принудительно задан в качестве именованного аргумента. Или сразу перед всеми, и тогда все аргументы будут заданы как именованные аргументы: >>> def f(*, a, b):
... print(a, b)
...
>>> f(1, 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module> TypeError: f() takes 0 positional
arguments but 2 were given
>>> f(a=1, b=2)
1 2 >>> 2. Исполь