Курс Python → Гибкие функции Python

Параметры функции *args и **kwargs являются важным инструментом в Python, который позволяет создавать функции с переменным числом аргументов. Как правило, *args используется для передачи неименованных аргументов в виде кортежа, а **kwargs для передачи именованных аргументов в виде словаря.

Например, если у нас есть функция, которая принимает один обязательный аргумент value, а все остальные аргументы не обязательны, мы можем использовать *args для упаковки неименованных аргументов и **kwargs для упаковки именованных аргументов. Таким образом, мы можем передать любое количество аргументов в нашу функцию.

Использование *args и **kwargs особенно полезно, когда мы не знаем заранее, сколько и какие аргументы будут переданы в функцию. Это позволяет сделать функцию более гибкой и универсальной, так как она может принимать различные комбинации аргументов.

Например, если у нас есть функция, которая складывает все переданные аргументы, мы можем использовать *args для упаковки всех числовых аргументов в кортеж и произвести операцию сложения. Это удобно, так как мы можем передать в функцию любое количество чисел для сложения.


def sum_values(*args):
    total = 0
    for num in args:
        total += num
    return total

print(sum_values(1, 2, 3, 4))  # Выведет 10
print(sum_values(5, 10, 15))    # Выведет 30

Таким образом, использование *args и **kwargs делает функции более гибкими и удобными для использования, позволяя передавать переменное количество аргументов различных типов.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Работа с итераторами в Python
  2. Генераторы в Python
  3. Операции с числами в Python
  4. Форматирование вывода с F-строками
  5. Функция pow() — возвести число в степень
  6. Измерение времени выполнения в Python
  7. Переопределение метода len
  8. Отладка в Python
  9. F-строки в Python 3.8
  10. Сравнение def и lambda-функций
  11. Заказ карты Тинькофф Black
  12. Названия переменных
  13. Форматирование данных с помощью pprint
  14. Перезагрузка оператора в Python
  15. Нахождение максимального значения и его индекса в списке
  16. Кортеж в Python: создание, доступ, изменение
  17. Возврат нескольких значений
  18. Множественные конструкторы в Python
  19. Оператор «or» в Python
  20. Основы слова
  21. Библиотека wikipedia для Python
  22. Объединение списков с помощью zip
  23. Функция print() — вывод информации
  24. Функция __init__ в Python
  25. Работа с YAML в Python: PyYAML.
  26. Кортеж в Python: создание и использование
  27. Декораторы в Python
  28. Преобразование PowerPoint в PDF.
  29. Объединение множеств в Python
  30. GitHub в Telegram: подписка на уведомления
  31. Namedtuple в Python
  32. Поиск кода
  33. Расчет времени выполнения кода
  34. Условное добавление элементов в список
  35. Сериализация объектов в Python
  36. Разность множеств
  37. Протокол управления контекстом
  38. Переопределение метода __rshift__
  39. Именованные срезы в Python
  40. Вывод переменной и строки в Python
  41. Множественное назначение в Python
  42. Генерация тестовых данных с factory_boy
  43. Вложенные функции в Python
  44. Метод join для объединения строк
  45. Метод get() в Python
  46. ChainMap.new_child() — добавление нового словаря

Marketello читают маркетологи из крутых компаний