Какова цель голой звездочки в аргументах функции?

Я видел этот ТАК вопрос (это не дубликат):Python голая звездочка в аргументе функции

В python-3.x вы можете добавить голый* для аргументов функции, это означает, что (цитата издокументы):

Параметры после «*» или «* идентификатор» являются параметрами только для ключевых слов и могут передаваться только с использованием аргументов ключевых слов.

Итак, я определил функцию:

>>> def f(a, b, *, c=1, d=2, e=3):
...     print('Hello, world!')
... 

Я могу пройтиc, d а такжеe значения переменных только путем указания ключевых слов:

>>> f(1, 2, 10, 20, 30)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: f() takes 2 positional arguments but 5 were given
>>> f(1, 2, c=10, d=20, e=30)
Hello, world!

Вопросы:

Какова мотивация для такого рода ограничений / синтаксиса сахара?Какие варианты использования он охватывает?Действительно ли он используется в сторонних библиотеках, которые перешли на python3?

Некоторые примеры из реальной жизни очень помогли бы. Заранее спасибо.

Ответы на вопрос(2)

Ваш ответ на вопрос