Курс 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. Переопределение метода __or__()
  2. Хранение переменных в словаре.
  3. Назначение максимального и минимального значения переменной в Python.
  4. Сортировка HTML по CSS-селектору
  5. Генераторы данных
  6. Удаление элемента по индексу
  7. Оператор space-invader
  8. Работа с *args и **kwargs в Python
  9. Обработка исключений в Python
  10. Генераторы в Python
  11. Решатель судоку на Python с pygame
  12. Сумма элементов списка
  13. Создание матрицы в Python
  14. Создание коллекций из выражения-генератора
  15. Метод rmatmul для пользовательских матриц
  16. Изменяемые и неизменяемые объекты
  17. Подсчет часто встречающихся элементов
  18. Лямбда-функции в Python
  19. Игра «Угадывание чисел»
  20. Особенности запятых в Python
  21. Оформление кода по PEP 8
  22. Функции в Python
  23. Функция reduce() из модуля functools
  24. Декораторы в Python
  25. Установка библиотек в Python
  26. Объединение словарей в Python
  27. Абстракции словарей и множеств в Python
  28. Сравнение объектов в Python
  29. Метод get для словаря
  30. Метод __ixor__ для побитового исключающего ИЛИ
  31. Многострочные комментарии в Python
  32. Обязательные аргументы в Python
  33. Вставка переменных в шаблоны Flask
  34. Фильтрация входных данных в Python
  35. Работа с Telegram API на Python
  36. Генераторы в Python
  37. Оператор is в Python
  38. Сортировка с параметром key
  39. Операции с кортежами
  40. Удаление дубликатов из списка
  41. Измерение времени выполнения кода с помощью time
  42. Локальные переменные.
  43. Модуль subprocess: запуск внешних команд
  44. Метод get для словарей
  45. Переворот строки с использованием цикла

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