Курс 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
- Проблемы с dict в Python
- Удаление специальных символов
- Метод clear для коллекций
- Очистка входных данных
- Метод matmul для умножения матриц
- Иерархия классов в Python
- Подчеркивание в REPL
- Автоматизация скриптов на AWS Lightsail.
- Оптимизация гиперпараметров в Python
- Доступ к локальным переменным
- Безопасные SQL-запросы в Python 3.11
- Сортировка в Python
- Применение функции к списку
- Python groupby() из itertools: работа с повторяющимися элементами
- Работа с файлами в Python
- Создание .exe файла с pyinstaller
- Оформление кода по PEP 8
- Расширение операции побитового «и» в Python
- Оператор zip в Python
- JMESPath в Python
- Операция += для списков
- Быстрый поиск кода
- Работа с модулем cmath
- Функции map, filter, reduce
- Функциональное программирование в Python
- Получение имени функции с помощью inspect
- Colorama: окрашивание текста в Python
- Считывание бинарного файла в Python
- Переопределение метода __rshift__
- Списковое включение в Python
- Генерация UUID в Python
- Срезы в Python
- Объединение словарей в Python
- Генераторы и сеты в Python
- Обновление множества в Python
- Работа со строками в Python
- Разделение строки с помощью re.split()
- Передача аргументов через **arguments
- Создание спинбокса в tkinter
- Измерение времени выполнения кода
- Асинхронный код в Python
- Фильтрация списка чисел
- Генераторы в Python
- Модуль math: основные функции















