Курс 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. Логирование с Loguru
  3. Обработка ошибок в Python
  4. Проверка вхождения подстроки
  5. Обработка элементов в Python
  6. Установка переменной среды в Python
  7. Генерация UUID в Python
  8. Объединение объектов в Python
  9. Установка максимального количества цифр
  10. Печать календаря в Python
  11. Динамические маршруты во Flask
  12. Запуск Python из интерпретатора
  13. Блок try-except-else
  14. Установка и загрузка Instaloader
  15. Переменная с нижним подчеркиванием
  16. Проверка строки на палиндром
  17. Асинхронное программирование с asyncio
  18. Декораторы в Python
  19. Python 3.12: Псевдонимы типов
  20. Работа с необработанными строками
  21. Работа с *args и **kwargs в Python
  22. Использование super() в Python
  23. Печать списка с помощью метода join
  24. Операции с кортежами
  25. Работа с deque из collections
  26. Многострочные комментарии в Python
  27. Оператор match в Python
  28. Метод gt в Python
  29. Тестирование с unittest
  30. Метод сравнения объектов в Python
  31. Повторение элементов в Python
  32. Безопасный доступ к значениям словаря
  33. Работа с модулем glob в Python
  34. Метод rename() для переименования файлов и каталогов
  35. Python Менеджер контекста
  36. Оптимизация памяти с __slots__
  37. Комплексные числа в Python
  38. Работа со временем в Python
  39. Работа со строками в Python
  40. Создание генераторов в Python
  41. Распаковка значений в Python
  42. JSON в Python: модуль, dump, dumps, load
  43. Объединение кортежей в Python
  44. Обработка исключений в Python
  45. Просмотр внешних файлов в %pycat

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