Курс 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. Объединение списков с помощью zip
  2. Определение объема памяти объекта
  3. Удаление ключа из словаря
  4. Возврат нескольких значений
  5. Импорт модулей в Python 3.12
  6. Метод remove() для удаления элемента из списка
  7. Лимиты на ресурсы Python
  8. Метод eq для сравнения объектов
  9. Итерация по итерируемым объектам
  10. Игра «Виселица» на Python
  11. Извлечение аудио из видео
  12. Сохранение Unicode в JSON
  13. Нахождение максимального значения и его индекса в списке
  14. Переменные класса и экземпляра
  15. Создание объекта timedelta
  16. UserString в Python
  17. Методы __repr__ и __str__ в Python
  18. Создание виртуальной среды
  19. Progress с библиотекой tqdm
  20. Транспонирование 2D-массива с помощью zip
  21. Пропуск строк в файле с itertools
  22. Каналы Senior: Python, Java, Frontend, SQL, C++
  23. Структура строк в Python
  24. Фильтрация элементов с помощью islice
  25. Печать календаря
  26. Резервирование символов в Python
  27. Область видимости переменных в Python
  28. Mad Libs Generator
  29. Проверка на истинность объектов в Python
  30. Множественное назначение в Python
  31. Руководство по библиотеке pydantic
  32. Создание словарей в Python
  33. Обрезка изображения с Pillow
  34. Оператор «or» в Python
  35. Создание новых функций с помощью functools.partial
  36. Поиск HTML-элементов с BeautifulSoup
  37. Отладка производительности Python
  38. Отделение звука от видео
  39. Создание класса в Python
  40. Проблема сравнения словарей
  41. Игра «Угадывание чисел»
  42. Генераторы в Python
  43. Методы и функции в Python
  44. Работа с WindowsPath()
  45. Сортировка элементов с OrderedDict
  46. None в Python: использование и особенности
  47. Форматирование вывода списков
  48. Создание файла с проверкой ошибки

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