Курс 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"
- Объединение списков с помощью zip
- Определение объема памяти объекта
- Удаление ключа из словаря
- Возврат нескольких значений
- Импорт модулей в Python 3.12
- Метод remove() для удаления элемента из списка
- Лимиты на ресурсы Python
- Метод eq для сравнения объектов
- Итерация по итерируемым объектам
- Игра «Виселица» на Python
- Извлечение аудио из видео
- Сохранение Unicode в JSON
- Нахождение максимального значения и его индекса в списке
- Переменные класса и экземпляра
- Создание объекта timedelta
- UserString в Python
- Методы __repr__ и __str__ в Python
- Создание виртуальной среды
- Progress с библиотекой tqdm
- Транспонирование 2D-массива с помощью zip
- Пропуск строк в файле с itertools
- Каналы Senior: Python, Java, Frontend, SQL, C++
- Структура строк в Python
- Фильтрация элементов с помощью islice
- Печать календаря
- Резервирование символов в Python
- Область видимости переменных в Python
- Mad Libs Generator
- Проверка на истинность объектов в Python
- Множественное назначение в Python
- Руководство по библиотеке pydantic
- Создание словарей в Python
- Обрезка изображения с Pillow
- Оператор «or» в Python
- Создание новых функций с помощью functools.partial
- Поиск HTML-элементов с BeautifulSoup
- Отладка производительности Python
- Отделение звука от видео
- Создание класса в Python
- Проблема сравнения словарей
- Игра «Угадывание чисел»
- Генераторы в Python
- Методы и функции в Python
- Работа с WindowsPath()
- Сортировка элементов с OrderedDict
- None в Python: использование и особенности
- Форматирование вывода списков
- Создание файла с проверкой ошибки















