Муню

X
//
Главная » Python полезное » Как сделать именованные аргументы обязательными в python 3

Как сделать именованные аргументы обязательными в 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...

Но если использовать именованные аргументы, то все будет работать отлично!

X