Курс 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. Сортировка данных с лямбда-функциями
  4. Условные выражения в Python
  5. Переменная с нижним подчеркиванием
  6. Замена текста с помощью sub
  7. Сортировка с помощью key
  8. Добавление элементов в список: append() vs extend()
  9. Преобразование типов данных в set comprehension
  10. Правила именования переменных
  11. Метод lt для сортировки объектов
  12. Создание новых функций через partial
  13. Преобразование строк в числа в Python
  14. Вычисление времени выполнения
  15. Генераторы в Python
  16. Преобразование регистра символов
  17. Новшества Flask 2.0
  18. Виртуальные среды в Python
  19. Логирование в Python
  20. Печать календаря
  21. Удаление ссылок в Python
  22. Объединение словарей в Python
  23. Распаковка с оператором *
  24. Метод setitem в Python
  25. Операторы сравнения в Python
  26. Атрибуты массивов в Numpy
  27. Работа с CSV файлами в Python
  28. Подсчет элементов в Python
  29. Работа с переменными в Python
  30. Идентификатор объекта в Python
  31. Отношения подклассов в Python
  32. Проверка версии Python
  33. Функция zip() в Python
  34. Antigravity модуль
  35. Управление IP-адресами через прокси
  36. Хранение переменных в словаре.
  37. Принципы программирования
  38. Метод Enumerate() для списков
  39. Выборка чисел
  40. Избегайте изменяемых аргументов
  41. Принципы Zen Python
  42. Проектирование Singleton с метаклассом
  43. Вложенные циклы в Python
  44. Конвертация коллекций в Python
  45. Создание пар из последовательностей
  46. Передача аргументов в Python
  47. Проверка дубликатов в Python
  48. Декораторы в Python
  49. Bootle — простой веб-фреймворк

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