*args и **kwargs
Python
Middle
Сбербанк
Объясните, зачем нужны *args и **kwargs в определении функции. Приведите пример использования.
Ответы
Про *args и **kwargs
*args — собирает позиционные аргументы в кортеж.
**kwargs — собирает именованные аргументы в словарь.
Они нужны, когда заранее неизвестно количество аргументов.
Пример:
```python
def debug(*args, **kwargs):
print("ARGS:", args)
print("KWARGS:", kwargs)
debug(1, 2, 3, x=10, y=20)
# ARGS: (1, 2, 3)
# KWARGS: {'x': 10, 'y': 20}
```