Курс 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. Функции в Python
  2. Работа с кортежами в Python
  3. Удаление дубликатов из списка
  4. Удаление символа из строки
  5. Python enumerate() использование
  6. Управление доступом к модулю
  7. Копирование объектов в Python
  8. Генераторные выражения и islice.
  9. Создание словарей в Python
  10. Равенство и идентичность в Python
  11. Очистка данных в Python
  12. Обмен значений переменных в Python
  13. Генерация резюме в Gensim
  14. Обработка исключений в Python
  15. Основы слова
  16. Преобразование строк в числа в Python
  17. Метод __index__ в Python
  18. Вычисление фазы комплексного числа
  19. Явный импорт в Python
  20. Работа с IP-адресами в Python
  21. Создание списков в Python
  22. Повторение элементов списков
  23. Генераторы в Python
  24. Тестирование с unittest
  25. Создание и инициализация объектов
  26. Объединение списков с помощью zip
  27. Управление контекстом выполнения кода
  28. Асинхронное выполнение задач в процессах
  29. capitalize() — изменение регистра первого символа строки
  30. Удаление ключа из словаря в Python
  31. Протокол управления контекстом
  32. Участие в сообществе @selectel
  33. Проблема с изменяемыми аргументами
  34. Создание итерируемых объектов
  35. Копирование объектов в Python
  36. Преобразование данных в Python
  37. Шаблоны и наследование в Flask
  38. Python reversed() vs срез[::-1]
  39. Аннотации типов в Python
  40. Округление в Python
  41. Методы обработки строк в Python
  42. Обязательные аргументы в Python
  43. Глобальные переменные в Python
  44. Списковое включение в Python

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