Курс Python → Распаковка аргументов в Python

При разработке программ на Python иногда необходимо передавать функции большое количество аргументов. Однако передача длинного списка аргументов может усложнить код и сделать его менее читаемым. Для решения этой проблемы можно использовать символы * и ** для распаковки аргументов функций.

Когда передается множество значений в функцию с помощью *, это означает, что все значения будут упакованы в кортеж и переданы в функцию как один аргумент. Например, если у вас есть функция, которая принимает два аргумента, то можно передать им значения из кортежа следующим образом:


def my_function(arg1, arg2):
    print(arg1, arg2)

args = (1, 2)
my_function(*args)

Аналогично, если нужно передать в функцию словарь с именованными аргументами, то можно воспользоваться префиксом **. Это позволяет распаковать словарь и передать его значения в функцию как именованные аргументы. Например:


def my_function(arg1, arg2):
    print(arg1, arg2)

kwargs = {'arg1': 1, 'arg2': 2}
my_function(**kwargs)

Использование * и ** для распаковки аргументов функций делает код более читаемым, так как позволяет передавать множество значений в функцию компактным способом. Это особенно удобно, когда необходимо передавать переменное количество аргументов или когда аргументы имеют сложную структуру. Такой подход также делает код более гибким и удобным для дальнейшего обслуживания.

Таким образом, использование * и ** для распаковки аргументов функций является важным инструментом в разработке на Python, который помогает улучшить читаемость и эффективность кода, а также облегчает передачу аргументов функциям с различными требованиями к формату.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Делегирование в Python
  2. Функции в Python
  3. Непрерывная проверка в Python
  4. Избегайте ошибку FileNotFoundError
  5. Операторы увеличения и уменьшения переменной
  6. Изменяемые и неизменяемые объекты
  7. Вычисление фазы комплексного числа
  8. Проверка памяти объекта
  9. Отслеживание прогресса с tqdm
  10. Псевдонимы в Python
  11. Измерение времени выполнения кода
  12. Список импортированных модулей в Python
  13. Идентификатор объекта в Python
  14. Работа с типами данных в Python с помощью pydantic.
  15. Обработка данных в Python
  16. Поиск наиболее частого элемента
  17. Преобразование букв в нижний регистр
  18. Декораторы в Python
  19. Тестирование функции сложения
  20. Функция zip() для объединения списков
  21. Многоточие в Python
  22. Установка и использование pyshorteners
  23. Принципы SRP и OCP
  24. Удаление URL-адресов в Python
  25. Замена атрибута в именованном кортеже
  26. Метод radd для пользовательских чисел
  27. Повторение элементов в Python
  28. Установка Python — Простое руководство
  29. Работа со словарями с defaultdict из collections
  30. Введение в PyTorch
  31. Работа с URL-адресами в Python
  32. Документирование функций в Python
  33. Enum в Python
  34. Работа с путями в Python
  35. Сравнение строк в Python
  36. Округление чисел с помощью round
  37. Получение текущей даты и времени с помощью datetime
  38. Извлечение аудио из видео
  39. Конкатенация строк с методом join()
  40. Обход элементов в Python
  41. Округление дробей в Python
  42. Библиотека sh: удобные команды терминала
  43. Управление ресурсами в Python
  44. Транспонирование 2D-массива с помощью zip
  45. Работа с IP-адресами в Python
  46. Метод pop() списка

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