Курс 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
- Блок try-except-else
- Цикл for в Python
- Работа с CSV файлами в Python
- Работа с итераторами в Python
- Оператор is в Python
- Замыкания в Python
- Создание именованных кортежей в Python
- Генерация случайных данных в NumPy
- Метод join() с набором
- Многоточие в Python
- Раздувающийся словарь в Python
- Управление мышью и клавиатурой с Pyautogui
- Объединение словарей в Python
- split() без разделителя
- Склеивание строк без циклов
- Переменные класса и экземпляра
- Многострочные строки в Python
- Метод matmul для умножения матриц
- Разделение строк в Python
- Использование type hints
- Переопределение метода __eq__
- Объединение словарей в Python 3.5+
- Управление памятью в numpy.
- Обход элементов в Python
- Управление ресурсами с контекстными менеджерами
- Команда %dhist — список посещенных каталогов
- Работа с асинхронными задачами в Python
- Хранение переменных в Python.
- Работа с атрибутом dict
- Локальные переменные.
- Определение функций с необязательными аргументами
- Принципы Zen Python
- Работа с массивами в Python
- Обход дочерних элементов BeautifulSoup
- Модуль os в Python: работа с файлами
- Работа со случайными элементами
- Преобразование документов в PDF с помощью Spire.Office
- Обработка исключений с блоком else
- Проверка подстроки в строке
- Асинхронное программирование с asyncio
- Основные функции и модули Python
- Измерение времени выполнения с помощью time
- Автоматизация скриптов на AWS Lightsail.
- Форматирование строк в Python
- Основные методы NumPy
- Передача неизвестных аргументов в Python.
- Метод __call__ в Python
- Тестирование модели в PyTorch















