Курс 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. Порядок операций в Python
  2. Декораторы в Python
  3. Работа с прокси в Python
  4. Создание пар из последовательностей
  5. Принципы SRP и OCP
  6. Функция zip() для объединения списков
  7. Lambda Functions in Python
  8. Возврат значений из генератора
  9. Частичное совпадение ввода
  10. Отрицательные индексы списков в Python
  11. Оператор continue в Python
  12. Работа с датами в Python
  13. Создание итератора
  14. Удаление эмодзи с помощью pandas
  15. Удаление элементов из списка
  16. Именованные срезы в Python
  17. Обход элементов в Python
  18. Разделение строки на подстроки в Python
  19. Модуль inspect
  20. Метод split() в Python
  21. Измерение времени выполнения кода
  22. Курсы Яндекс Практикум
  23. Возведение в квадрат с помощью itertools
  24. Создание новых списков в Python
  25. Использование *args
  26. Протокол управления контекстом
  27. Создание списков в Python
  28. List Comprehension Tutorial
  29. Список импортированных модулей в Python
  30. Обновление шаблона base.html
  31. Сортировка данных в Python
  32. Оформление кода на Python
  33. Ускоренный импорт библиотек
  34. Метод rsub для пользовательских чисел
  35. Метод title() в Python
  36. Декораторы в Python
  37. Активация Matplotlib в Jupyter
  38. Анонимные функции в Python
  39. Блок else в циклах.
  40. Просмотр файла в Jupyter Noteboo
  41. Проверка ввода с помощью isdigit
  42. Метод join() для объединения элементов
  43. Лямбда-функции в Python
  44. Добавление элемента в список.
  45. Декоратор Ajax required
  46. Форматирование даты с strftime()
  47. Создание объекта времени
  48. Вызов внешних программ в Python с помощью sh
  49. Исправление ошибки NameError

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