Курс Python → Работа с *args и **kwargs в Python

*args и **kwargs — это специальные конструкции в Python, которые позволяют обрабатывать произвольное количество аргументов в функции. Иногда бывает сложно заранее определить, сколько аргументов может быть передано в функцию, поэтому *args и **kwargs становятся удобным способом работы с переменным количеством аргументов.

Переменные args и kwargs — это всего лишь соглашения в Python. Главное здесь — это звездочки, которые обозначают сборку аргументов в коллекцию. Одна звездочка перед переменной args позволяет собрать все неименованные аргументы в кортеж, в то время как две звездочки перед переменной kwargs собирают все именованные аргументы в словарь.


def example_function(*args, **kwargs):
    for arg in args:
        print(arg)
    for key, value in kwargs.items():
        print(f"{key}: {value}")
        
example_function(1, 2, 3, name='Alice', age=30)

В приведенном выше примере функции example_function мы используем *args для работы с неименованными аргументами и **kwargs для работы с именованными аргументами. При вызове функции мы передаем числовые значения в качестве неименованных аргументов и пары ключ-значение для именованных аргументов. Функция выводит все переданные аргументы на экран.

Использование *args и **kwargs делает код более гибким и удобным для работы с различными входными данными. Они позволяют упростить написание функций, которые могут принимать переменное количество аргументов, что делает ваш код более масштабируемым и удобным в использовании.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Реализация операции -= для пользовательского класса
  2. Инверсия списка и строки в Python
  3. Декораторы для регистрации функций
  4. Избегайте использования goto
  5. Транспонирование 2D-массива с помощью zip
  6. Ускоренный импорт библиотек
  7. Синтаксис переменных цикла в Python
  8. Генератор списка в Python
  9. Склеивание строк без циклов
  10. Тайное преобразование типа ключа
  11. Многоточие в Python
  12. Модуль subprocess: запуск внешних команд
  13. Функция divmod() в Python
  14. Декодирование байтов в строку
  15. Работа с прокси в Python
  16. Сортировка с параметром key
  17. Генерация фальшивых данных с Faker
  18. Генераторы в Python
  19. Сортировка в Python
  20. Создание итерируемых объектов
  21. Просмотр атрибутов и методов класса
  22. Определение объема памяти объекта
  23. Подсчет элементов в списке с Counter
  24. Удаление файлов в Python
  25. Метод join() с набором
  26. Оператор «not» в Python
  27. Работа с getopt
  28. Частичное совпадение ввода
  29. Метод rmatmul для пользовательских матриц
  30. Функция zip() в Python
  31. Протокол управления контекстом
  32. Методы и функции в Python
  33. Работа со строками
  34. Объединение, распаковка и деструктуризация
  35. Библиотека funcy: удобные утилиты
  36. Подписка на SelectelNews в Twitter
  37. Оператор Walrus: правильное использование
  38. Создание функций высшего порядка
  39. Мониторинг памяти с Pympler
  40. Обход дочерних элементов BeautifulSoup
  41. Операторы сравнения в Python
  42. Транспонирование 2D-массива с помощью zip
  43. Переворот списка в Python
  44. Функция zip() в Python
  45. Принципы LSP и ISP в Python
  46. Метод difference_update() — разность множеств

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