Курс 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"
- Форматирование даты с strftime()
- Сортировка и обратный порядок
- Метод hash в Python
- Путь к интерпретатору Python
- Бесконечные списки в Python
- Работа с каталогами в Python
- Python 3.12: Псевдонимы типов
- Умножение строк и списков
- Объединение словарей в Python
- Генерация ключей RSA
- Распаковка аргументов в Python
- Оператор деления для класса Rational
- Анонимные функции в Python
- Переворот списка в Python
- Форматирование объектов с модулем pprint
- Конвертация текстовых чисел с помощью Numerizer
- Регистрация на TenChat
- Работа с Path в Python
- Импорт модулей в Python 3.12
- Декоратор защиты анонимных пользователей
- Профилирование с cProfile
- Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
- Комментарии в Python
- Методы обработки строк в Python
- Solidity для DeFi Ethereum
- Итераторы в Python
- Удаление символа из строки
- Преобразование многоуровневого словаря
- Функция findall() для поиска вхождений строки
- Профилирование кода
- Генерация случайных чисел Python
- Дефолтные параметры в Python
- Очистка данных в Python
- Создание списков в Python
- CLI-инструмент howdoi
- Освоение Python
- Модуль future Python
- Параллельные вычисления в Python
- Инверсия списка и строки
- Простой калькулятор Python
- Замена текста в Python
- Функция divmod() в Python
- Метаклассы в Python
- Кортеж в Python: создание и использование















