Курс 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. Обработка StopIteration в Python
  2. Копирование объектов в Python
  3. Тернарный оператор в Python
  4. Удаление пробелов методом translate()
  5. Модуль functools в Python
  6. Декораторы в Python
  7. Шаблоны и наследование в Flask
  8. JMESPath в Python
  9. Метод enumerate() в Python
  10. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  11. Метод сравнения объектов в Python
  12. Циклы в Python
  13. Создание итерируемых объектов
  14. Генерация тестовых данных с factory_boy
  15. Удаление элементов из списка в Python.
  16. Методы в Python
  17. Работа с URL-адресами в Python
  18. Оператор match в Python
  19. Удаление дубликатов из списка с помощью dict.fromkeys
  20. Поиск повторов в списке
  21. Декоратор total_ordering для класса Point
  22. Замена атрибута в именованном кортеже
  23. Переопределение оператора % для объектов
  24. Работа с изменяемыми списками
  25. Удаление ключа из словаря в Python
  26. Определение индекса элемента списка
  27. Хэш-функции и метод цепочек
  28. Оператор zip в Python
  29. Основы Python
  30. Условные выражения в Python
  31. Обновление шаблона base.html
  32. Список и кортеж в Python
  33. Замыкания в Python
  34. Умножение строк и списков
  35. Итераторы в Python
  36. Блок else в обработке исключений
  37. Форматирование данных с pprint
  38. Склеивание строк через метод join()
  39. Оболочка Python
  40. Назначение максимального и минимального значения переменной в Python.
  41. Закрытие файла в Python
  42. Создание функций с произвольным количеством аргументов
  43. Работа с timedelta
  44. Использование модуля math
  45. Создание Radio кнопок в tkinter
  46. Сериализация и десериализация объектов

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