Курс 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. Измерение потребления памяти при сортировке
  2. Вычисление разности множеств в Python
  3. Замыкания в Python
  4. Псевдонимы в Python
  5. Объединение строк с помощью метода join
  6. Реверс строки в Python
  7. Пропуск начальных строк с помощью dropwhile()
  8. Преобразование текста в нижний регистр
  9. Разность множеств
  10. Принципы SRP и OCP
  11. Обход словаря в Python
  12. Counter() — подсчет элементов
  13. Поиск подстроки в строке
  14. Расчет времени выполнения кода
  15. Передача параметров в Python
  16. Печать календаря в Python
  17. Создание словарей в Python
  18. Pillow: работа с изображениями
  19. Работа с кортежами
  20. Статическая типизация в Python
  21. Регистрация на хакатоне
  22. Метод splitlines() для разделения строк
  23. Удаление URL-адресов в Python
  24. Структурирование данных с Pydantic
  25. Лямбда-функции в Python
  26. Декораторы в Python
  27. Определение объема памяти объекта
  28. Подписка на @SelectelNews
  29. Мощь вложенных функций в Python
  30. Копирование объектов в Python
  31. Ускорение обработки данных с %autoawait
  32. Методы работы со списками
  33. Фильтрация элементов с помощью islice
  34. Модуль inspect
  35. Работа с OpenCV
  36. Транспонирование 2D-массива с помощью zip
  37. Удаление элементов из списка в Python
  38. Автоматизация с Python
  39. Работа с контекст-менеджером «with»
  40. Хеширование паролей с солью
  41. Декораторы в Python
  42. Операторы присваивания в Python
  43. Непрерывная проверка в Python
  44. Раздувающийся словарь в Python
  45. Форматирование строк в Python
  46. Переопределение оператора % для объектов
  47. Создание обратного итератора

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