Курс 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"

  1. Работа с collections.Counter
  2. Установка переменной среды в Python
  3. Преобразование регистра символов
  4. Работа с утверждениями в Python
  5. Метод ipow для возведения в степень
  6. GitHub в Telegram: подписка на уведомления
  7. Группировка элементов Python
  8. Транспонирование матрицы в Python
  9. IPython и Jupyter Notebook: руководство
  10. Python Translator: создание локальных переводчиков
  11. Введение в Python
  12. Получение атрибутов и методов класса
  13. Построение графиков в терминале с bashplotlib
  14. Работа с комбинациями в Python.
  15. Сортировка списка по индексам
  16. Метод __ixor__ для побитового исключающего ИЛИ
  17. Инвертирование словаря
  18. Работа с collections в Python.
  19. Область видимости переменных
  20. Оператор assert в Python
  21. Работа с кортежами
  22. Аннотации типов в Python
  23. Конвертация коллекций в Python
  24. Установка и использование Telegram API в Python
  25. Циклы в Python
  26. Генераторы в Python
  27. Извлечение новостей с newspaper3k
  28. Перетасовка списков в Python
  29. Работа с файлами в Python
  30. Создание пустых функций и классов в Python
  31. Структуры данных в Python
  32. Определение имен функций
  33. Объединение списков в Python
  34. Обрезка изображения с Pillow
  35. Создание спинбокса в tkinter
  36. Создание словарей с defaultdict
  37. Работа с enumerate()
  38. Эффективная конкатенация строк с использованием join()
  39. Создание матрицы в Python
  40. Расчет времени выполнения кода
  41. Работа с итераторами через срезы
  42. Генераторы в Python
  43. Метод join() для объединения элементов в строку.
  44. Тестирование с responses
  45. Функция eval() в Python
  46. Списки в Python: синтаксис представления
  47. Глобальные переменные в Python
  48. Запрос DELETE с библиотекой requests
  49. Тестирование с unittest
  50. CSV строка разделение в Python

Marketello читают маркетологи из крутых компаний