Курс 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. Перетасовка списков в Python
  3. Декоратор @override
  4. Итерация по коллекции в Python
  5. Оператор in для Python
  6. Форматирование даты с strftime()
  7. Логирование с Logzero: ротация файла
  8. Расчет времени выполнения
  9. Colorama: окрашивание текста в Python
  10. Метод join для наборов
  11. Псевдонимы в Python
  12. Просмотр атрибутов и методов класса
  13. Использование модуля math
  14. Декоратор проверки активности
  15. Расширение операции побитового «и» в Python
  16. Обновление множества в Python
  17. Декораторы для регистрации функций
  18. Магические методы в Python
  19. Создание вкладок с TKinter
  20. Извлечение новостей с newspaper3k
  21. Solidity для DeFi Ethereum
  22. Списковые включения в Python
  23. Итерация по итерируемым объектам
  24. Проверка ввода с помощью isdigit
  25. Генератор списка в Python
  26. Печать списка с помощью метода join
  27. Работа с индексами списков
  28. Конвертация коллекций в Python
  29. Настройка логгера Logzero
  30. Создание уникального множества
  31. Ускорение кода с помощью векторизации
  32. Таймер обратного отсчета
  33. Удаление ключа из словаря
  34. Создание множества в Python
  35. Нахождение самого длинного слова в списке с помощью max
  36. Инициализация объекта
  37. Руководство по Pymorphy2
  38. Условные выражения в Python
  39. Подписка на каналы разработчиков
  40. Метод rsub для пользовательских чисел
  41. Метод __call__ в Python
  42. Поиск шаблона в строке
  43. Форматирование вывода с F-строками
  44. Удаление элемента по индексу
  45. Модуль itertools: эффективная работа с итераторами
  46. Поиск самого частого элемента
  47. Генераторы в Python
  48. Оптимизация строк в Python

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