Курс 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"
- Реализация операции -= для пользовательского класса
- Инверсия списка и строки в Python
- Декораторы для регистрации функций
- Избегайте использования goto
- Транспонирование 2D-массива с помощью zip
- Ускоренный импорт библиотек
- Синтаксис переменных цикла в Python
- Генератор списка в Python
- Склеивание строк без циклов
- Тайное преобразование типа ключа
- Многоточие в Python
- Модуль subprocess: запуск внешних команд
- Функция divmod() в Python
- Декодирование байтов в строку
- Работа с прокси в Python
- Сортировка с параметром key
- Генерация фальшивых данных с Faker
- Генераторы в Python
- Сортировка в Python
- Создание итерируемых объектов
- Просмотр атрибутов и методов класса
- Определение объема памяти объекта
- Подсчет элементов в списке с Counter
- Удаление файлов в Python
- Метод join() с набором
- Оператор «not» в Python
- Работа с getopt
- Частичное совпадение ввода
- Метод rmatmul для пользовательских матриц
- Функция zip() в Python
- Протокол управления контекстом
- Методы и функции в Python
- Работа со строками
- Объединение, распаковка и деструктуризация
- Библиотека funcy: удобные утилиты
- Подписка на SelectelNews в Twitter
- Оператор Walrus: правильное использование
- Создание функций высшего порядка
- Мониторинг памяти с Pympler
- Обход дочерних элементов BeautifulSoup
- Операторы сравнения в Python
- Транспонирование 2D-массива с помощью zip
- Переворот списка в Python
- Функция zip() в Python
- Принципы LSP и ISP в Python
- Метод difference_update() — разность множеств















