Как сделать именованные аргументы обязательными в python 3
Время чтение: 1 минуту 2022-01-20Позиционные аргументы передаются без указания имен, так как по позиции расположению аргумента функция поймет, какому параметру соответствует аргумент.
def funck(a, b): return f"{a} / {b}" res = funck("for a", "for b") print(res) >>> for a / for b
Туже функцию можно вызвать и с именованными аргументами.
res = funck(a="for a", b="for b") print(res)
Если нужно сделать именованные аргументы обязательными, можно использовать аргумент <*> таким образом.
def funck(*, a, b): return f"{a} / {b}"
Если теперь передать позиционные аргументы возникнет исключение.
res = funck("for a", "for b") print(res) # TypeError: funck() takes 0 positional arguments...
Но если использовать именованные аргументы, то все будет работать отлично!