Курс 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"
- Основные методы NumPy
- Секреты Python
- Многострочные комментарии в Python
- Функция reduce() из модуля functools
- Хэш-функции и метод цепочек
- Создание коллекций из выражения-генератора
- Пустой оператор pass в Python
- Передача параметров в Python
- JSON в Python: модуль, dump, dumps, load
- Отступы в Python
- Метод ior для битовых операций
- Метод count() для списка
- Разделение строк методом split()
- Работа со строками в Python.
- Создание графики с черепахой
- Concrete Paths — метод .with_suffix()
- Оператор walrus в Python
- Управление асинхронными задачами на Python.
- Работа с исключениями в Python
- Оператор space-invader
- Метод __imod__ для Python
- Поиск уникальных и повторяющихся элементов
- Перемещение и удаление файлов в Python
- Структура данных deque в Python
- Работа с очередями в Python
- Отладчик pdb: начало работы
- Списки в Python: синтаксис представления
- Преобразование числа в восьмеричную строку
- Поиск подстроки в строке
- Оптимизация создания строк
- Работа с утверждениями в Python
- Оптимизация гиперпараметров с Scikit Optimize
- Списки в Python: основы
- Множественное наследование в Python
- Пересечение списков с использованием множеств
- Создание и использование ChainMap
- Извлечение чисел из текста
- PrettyTable: создание таблицы
- Удаление элементов из списка в Python
- Метод join() для объединения строк
- Названия столбцов в Python таблицах
- Удаление элемента из списка в Python
- Принципы SRP и OCP
- Поиск email
- Удаление файлов в Python
- Регистрация на хакатоне
- Непрерывная проверка в Python















