Курс 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. Блок try-except-else
  3. Цикл for в Python
  4. Работа с CSV файлами в Python
  5. Работа с итераторами в Python
  6. Оператор is в Python
  7. Замыкания в Python
  8. Создание именованных кортежей в Python
  9. Генерация случайных данных в NumPy
  10. Метод join() с набором
  11. Многоточие в Python
  12. Раздувающийся словарь в Python
  13. Управление мышью и клавиатурой с Pyautogui
  14. Объединение словарей в Python
  15. split() без разделителя
  16. Склеивание строк без циклов
  17. Переменные класса и экземпляра
  18. Многострочные строки в Python
  19. Метод matmul для умножения матриц
  20. Разделение строк в Python
  21. Использование type hints
  22. Переопределение метода __eq__
  23. Объединение словарей в Python 3.5+
  24. Управление памятью в numpy.
  25. Обход элементов в Python
  26. Управление ресурсами с контекстными менеджерами
  27. Команда %dhist — список посещенных каталогов
  28. Работа с асинхронными задачами в Python
  29. Хранение переменных в Python.
  30. Работа с атрибутом dict
  31. Локальные переменные.
  32. Определение функций с необязательными аргументами
  33. Принципы Zen Python
  34. Работа с массивами в Python
  35. Обход дочерних элементов BeautifulSoup
  36. Модуль os в Python: работа с файлами
  37. Работа со случайными элементами
  38. Преобразование документов в PDF с помощью Spire.Office
  39. Обработка исключений с блоком else
  40. Проверка подстроки в строке
  41. Асинхронное программирование с asyncio
  42. Основные функции и модули Python
  43. Измерение времени выполнения с помощью time
  44. Автоматизация скриптов на AWS Lightsail.
  45. Форматирование строк в Python
  46. Основные методы NumPy
  47. Передача неизвестных аргументов в Python.
  48. Метод __call__ в Python
  49. Тестирование модели в PyTorch

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