Курс 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. Работа с collections в Python
  3. Объединение словарей в Python
  4. Работа с функцией next() в Python
  5. Обязательные аргументы в Python
  6. Переопределение метода __eq__
  7. Аннотации типов в Python
  8. Python 3.12: Псевдонимы типов
  9. Замер времени выполнения кода
  10. Передача аргументов через **arguments
  11. Импорт модулей и пакетов в Python
  12. Анонимные функции в Python
  13. Управление памятью в numpy.
  14. Определение объема памяти объекта
  15. Рациональные числа в Python
  16. Работа с датой и временем в Python
  17. Обработка исключений в Python
  18. Многопоточность в Python
  19. Оператор in и not in в Python
  20. Метод __call__ в Python
  21. Генератор списка в Python
  22. Присвоение значений переменным в Python
  23. Избегайте двойного подчеркивания
  24. Игра «Камень, ножницы, бумага» — Python
  25. Работа со словарями Python
  26. Преобразование списка в словарь через генератор
  27. Приоритет операций в Python
  28. Руководство по библиотеке pydantic
  29. Метод count() для списков
  30. Метод __iand__ для пользовательских классов
  31. Улучшенные подсказки для импорта в Python 3.12
  32. Переменные класса и экземпляра
  33. Лямбда-функции в Python
  34. Очистка списка от False, None, 0, «»
  35. Импорт модуля из другого каталога
  36. Генератор бросков кубиков
  37. Разработка игры Pong с turtle
  38. Получение локальных переменных в Python
  39. Многопроцессорное программирование в Python
  40. Чтение и запись TOML-конфигов
  41. Работа со словарями
  42. Python: цикл for и оператор присваивания
  43. Удаление элементов из списка в Python.

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