Всем доброго времени суток. Сегодня мы рассмотрим, что такое *args и **kwargs. Закрепим знания на некоторых примерах и убедимся в их пользе. Что такое *args? *args позволяет передать переменное количество аргументов функции. Давайте рассмотрим пример, чтобы прояснить это. Предположим, вы создали функцию для сложения двух чисел, как тут. def sum(a, b): print("Сумма равна", a+b) Как вы можете наблюдать, эта программа принимает только два числа. Так вот, если вы хотите передать более двух аргументов, тогда *args вступает в игру. def sum(*args): s = 0 for i in args: s += i print("sum is", s) Теперь вы можете передать любое количество аргументов функции, как тут: >>> sum(1, 2, 3) 6 >>> sum(1, 2, 3, 4, 5, 7) 22 >>> sum(1, 2, 3, 4, 5, 7, 8, 9, 10) 49 >>> sum() 0 Внимание: *args — это просто соглашение, вы можете использовать любое другое имя, и оно будет допустимым. Например: *myargs можно использовать совершенно спокойно. Что такое **kwargs? **kwargs позволяет нам