Курс 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. Работа с enumerate()
  2. Лямбда-функции для min/max
  3. Оператор is в Python
  4. Список импортированных модулей в Python
  5. Извлечение аудио из видео
  6. Работа со временем в Python
  7. Установка и использование howdoi
  8. Работа с кортежами в Python
  9. Сериализация данных в JSON с помощью json.dumps
  10. Основы Python
  11. Функция zip() в Python
  12. Генераторы данных
  13. Поиск с библиотекой Google
  14. Класс Counter() для подсчета элементов
  15. Установка виртуального окружения Python
  16. Создание директории в Python
  17. Транспонирование 2D-массива с помощью zip
  18. Функция rsplit() в Python
  19. Метод Event.wait() в Python
  20. Изменяемые и неизменяемые объекты
  21. Работа с процессами в Python
  22. Частичное совпадение ввода
  23. Генераторы списков в Python
  24. Установка и использование Python-dateutil
  25. Преобразование строк в числа с плавающей запятой
  26. Antigravity модуль
  27. Удаление дубликатов с помощью множеств
  28. Переворот строки
  29. Python Метод Union Множеств
  30. Форматирование строк в Python
  31. Работа со списками
  32. Тестирование с unittest
  33. Функция map() и ленивая оценка
  34. Логирование с Logzero
  35. Изменение элемента списка
  36. Область видимости переменных
  37. Конкатенация строк с методом join()
  38. Сравнение строк в Python
  39. globals и locals
  40. Получение идентификатора объекта в памяти
  41. Python Метод sleep() из time
  42. Генерация QR-кодов с Python
  43. Имена объектов в Python
  44. Генерация резюме в Gensim
  45. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность

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