*args
и **kwargs
— специальный синтаксис, позволяющий передавать в функцию переменное количество аргументов.
- Использование *args и **kwargs идет на уровне соглашения между разработчиками. По факту эти аргументы можно называть как угодно
- *args распаковывает не именованные аргументы как картеж, а **kwargs распаковывает именованные как словарь
def pepa(a, *args, **kwargs):
print(a)
for i in args:
print(f'Я получил арг: {i}')
for k, w in kwargs.items():
print(f'Я получил кварг: {k} – {w}')
pepa(1, 2, 3, keks='wew')
# 1
# Я получил арг: 2
# Я получил арг: 3
# Я получил кварг: keks – wew