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