Курс 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 с pandas
  3. Обмен переменными в Jupyter
  4. Объединение строк с помощью метода join
  5. Перевернуть список в Python
  6. Создание детектора плагиата
  7. Использование модуля math
  8. Работа с getopt
  9. Регулярные выражения: метод match
  10. Безопасные SQL-запросы в Python 3.11
  11. Создание вложенных циклов for
  12. Печать календаря
  13. Создание пар из последовательностей
  14. Декоратор проверки активности
  15. Операция += для списков
  16. Установка и обучение ChatterBot
  17. Автоматизация с Python
  18. История Python
  19. Создание словарей с defaultdict
  20. Объявление переменных в Python
  21. Конкатенация строк в Python
  22. Профилирование данных с Pandas.
  23. Принципы программирования
  24. Работа с CSV файлами в Python
  25. Concrete Paths в Python
  26. Оператор continue в Python
  27. Проверка класса объекта
  28. Работа с IP-адресами в Python
  29. Оценка выражений генератора в Python
  30. Метод splitlines() для разделения строк
  31. Закрытие файла в Python
  32. Методы работы со строками в Python
  33. Разделение строки с помощью re.split()
  34. Оператор Walrus: правильное использование
  35. Глубокое копирование объектов
  36. Форматирование даты с strftime()
  37. Проверка типов с помощью isinstance
  38. Установка виртуального окружения Python
  39. Отправка HTTP-запросов с User-Agent
  40. Работа с датой и временем в Python
  41. Сравнение неупорядоченных списков
  42. Python Метод sleep() времени
  43. Создание генераторов в Python
  44. Mad Libs Generator

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