Курс 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. Измерение времени выполнения кода
  3. Блок else в циклах Python
  4. Операции со строками в Python
  5. Лямбда-функции в Python
  6. Запуск внешних программ с subprocess
  7. Lambda-функция в Python: использование с map() и sum()
  8. Значения по умолчанию в Python
  9. Декодирование строк в Python
  10. Определение имен функций
  11. Работа с файлами в Python
  12. Строки в Python: апострофы и кавычки
  13. Декоратор Property в Python
  14. Операторы присваивания в Python
  15. Основные операции с Numpy
  16. Python: возвращение нескольких значений
  17. Печать месячного календаря
  18. f-строки в формате строк
  19. Управление контекстом выполнения кода
  20. Определение наиболее частого элемента с помощью collections.Counter
  21. Логирование с Logzero
  22. Операторы увеличения и уменьшения в Python
  23. Удаление дубликатов из списка
  24. Явный импорт переменных
  25. Оператор is в Python
  26. Счетчик ссылок в Python
  27. Подсчет вхождений элементов
  28. Замыкания в Python
  29. Создание Radio кнопок в tkinter
  30. Python defaultdict добавление ключа
  31. Magic Commands — улучшение работы с Python
  32. Расчет времени выполнения кода
  33. Оптимизация гиперпараметров с Scikit Optimize
  34. Многострочные комментарии в Python
  35. Работа с zip()
  36. Подписка на Kaspersky Team
  37. Резервирование символов в Python
  38. Именованные срезы в Python
  39. Комментарии в Python
  40. Бесконечная проверка в Python
  41. Списки: объединение, изменение
  42. Роль ключевого слова self
  43. Функции map() и reduce() в Python
  44. Создание списка через цикл
  45. Аннотации типов в Python
  46. Работа с Requests для HTTP-запросов
  47. Python Ellipsis использование

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