Курс 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 3.12
  2. Переменные класса и экземпляра
  3. Замыкания в Python
  4. Сохранение и загрузка модели в PyTorch
  5. Python enumerate() функции
  6. Импорт модуля из другого каталога
  7. Просмотр внешнего файла в Python
  8. Метод get для словаря
  9. Функция format() в Python
  10. Мониторинг памяти с Pympler
  11. Шаблоны и наследование в Flask
  12. Сравнение строк в Python
  13. Основные функции и модули Python
  14. CSV строка разделение в Python
  15. Создание виртуальной среды
  16. Добавление элемента в список.
  17. Моржовый оператор в Python 3.8
  18. Получение текущей даты и времени с помощью datetime
  19. Зарезервированные слова в Python
  20. Создание и использование ChainMap
  21. Python Аргументы по умолчанию
  22. Установка Git и AWS CLI
  23. Создание словарей с defaultdict
  24. Разрешение имен в Python
  25. Отладка в Python
  26. Справка по импортированным модулям
  27. Распаковка аргументов в Python
  28. Метод eq для сравнения объектов
  29. Подсчет элементов с помощью Counter
  30. Подсчет элементов в списке с Counter
  31. Логирование с Logzero
  32. Срезы в Python
  33. Введение в Python
  34. Работа с collections.Counter
  35. Работа с комплексными числами
  36. Измерение времени выполнения кода
  37. Bootle — простой веб-фреймворк
  38. Работа с Event() в threading
  39. Хеширование паролей с использованием salt
  40. Нахождение разницы между списками в Python
  41. Декораторы в Python
  42. Список переменных в Python

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