TGViewer
PythonBoost - сообщество питонистов PythonBoost - сообщество питонистов @pythonboost · 10.7K subscribers
Post #466 5.94K
Трюк дня. Звездочка в списке параметров функции

В Python 3 можно использовать звездочку "*" в списке параметров функции, чтобы следующие за ней параметры считались обязательными именованными аргументами:

>>> def f(a, b, *, c='x', d='y', e='z'):
return 'Hello'

Чтобы передать значения для c, d и e, вам придется явно задать их в виде пар "ключ=значение":

>>> f(1, 2, 'p', 'q', 'v')
TypeError:
"f() takes 2 positional arguments but 5 were given"

>>> f(1, 2, c='p', d='q',e='v')
'Hello'

Укажем именованные аргументы без значений по умолчанию и увидим, что они обязательны:

>>> def f(a, b, *, c, d, e):
return 'Hello'

>>> f(1, 2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: f() missing 3 required keyword-only arguments: 'c', 'd', and 'e'

#tips
More from @pythonboost
  1. Aug 25, 2026Статья дня. Функция any() в Python Часто в программах на Python требуется проверить, являе…
  2. Aug 25, 2026🔍Тестовое собеседование на Middle Python с разработчиком из Яндекса завтра вечером Уже за…
  3. Aug 25, 2026photo post
  4. Aug 25, 2026Как найти все четные числа в списке за одну строку кода? evens = [x for x in [1, 2, 3, 4,…
  5. Aug 5, 2026Видео дня. Решаем задачи на Python с Codewars Продолжаем покорять Codewars. Решаем популяр…
  6. Aug 4, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →