Курс 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. Основные методы NumPy
  2. Секреты Python
  3. Многострочные комментарии в Python
  4. Функция reduce() из модуля functools
  5. Хэш-функции и метод цепочек
  6. Создание коллекций из выражения-генератора
  7. Пустой оператор pass в Python
  8. Передача параметров в Python
  9. JSON в Python: модуль, dump, dumps, load
  10. Отступы в Python
  11. Метод ior для битовых операций
  12. Метод count() для списка
  13. Разделение строк методом split()
  14. Работа со строками в Python.
  15. Создание графики с черепахой
  16. Concrete Paths — метод .with_suffix()
  17. Оператор walrus в Python
  18. Управление асинхронными задачами на Python.
  19. Работа с исключениями в Python
  20. Оператор space-invader
  21. Метод __imod__ для Python
  22. Поиск уникальных и повторяющихся элементов
  23. Перемещение и удаление файлов в Python
  24. Структура данных deque в Python
  25. Работа с очередями в Python
  26. Отладчик pdb: начало работы
  27. Списки в Python: синтаксис представления
  28. Преобразование числа в восьмеричную строку
  29. Поиск подстроки в строке
  30. Оптимизация создания строк
  31. Работа с утверждениями в Python
  32. Оптимизация гиперпараметров с Scikit Optimize
  33. Списки в Python: основы
  34. Множественное наследование в Python
  35. Пересечение списков с использованием множеств
  36. Создание и использование ChainMap
  37. Извлечение чисел из текста
  38. PrettyTable: создание таблицы
  39. Удаление элементов из списка в Python
  40. Метод join() для объединения строк
  41. Названия столбцов в Python таблицах
  42. Удаление элемента из списка в Python
  43. Принципы SRP и OCP
  44. Поиск email
  45. Удаление файлов в Python
  46. Регистрация на хакатоне
  47. Непрерывная проверка в Python

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