Курс 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. Сохранение Unicode в JSON
  3. Работа с изменяемыми коллекциями
  4. Генераторы в Python
  5. Методы обработки строк в Python
  6. Показ всплывающих окон Tkinter
  7. Доступ к локальным переменным
  8. Определение имен функций
  9. Приближение чисел в Python
  10. Оператор «and» в Python
  11. Добавление элементов в список
  12. Удаление элемента из списка в Python
  13. Объединение объектов в Python
  14. Срезы в Python
  15. Метод get для словарей
  16. Python itertools combinations() — группировка элементов
  17. Генератор бросков кубиков
  18. Работа с кортежами в Python
  19. Работа с Enum в Python3.
  20. Python: Фильтрация списков с помощью filter()
  21. Динамические маршруты во Flask
  22. Тестирование с unittest
  23. Запуск внешнего кода в Jupyter
  24. Декораторы в Python
  25. Бесконечная проверка в Python
  26. Переопределение унарных операторов
  27. Работа с YAML в Python
  28. Сортировка данных с лямбда-функциями
  29. Перевернуть список в Python
  30. Присоединение элементов коллекции
  31. TypedDict для kwargs в Python 3.12
  32. Оптимизация памяти в Python
  33. Переопределение метода
  34. Наиболее частотные элементы с помощью Counter
  35. Метод enumerate() в Python
  36. Дефолтные параметры в Python
  37. Деление в Python
  38. Курсы Яндекс Практикум
  39. Работа с PosixPath() в Python
  40. Сортировка в Python
  41. Оператор space-invader
  42. Применение функции к элементам списка
  43. Хранение переменных в Python.
  44. Получение ID текущего процесса
  45. Оператор continue в Python
  46. Использование *args

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