Курс 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. Правила именования переменных
  2. Сравнение неупорядоченных списков
  3. Декоратор Ajax required
  4. Построение графиков в терминале с bashplotlib
  5. Имена объектов в Python
  6. Вставка переменных в шаблоны Flask
  7. Python и Юникод: работа с цифрами
  8. Замена элементов в списке с помощью генераторов списков
  9. Метод __ilshift__ для битового сдвига влево
  10. Управление асинхронными задачами с помощью Semaphore
  11. Профилирование данных с Pandas.
  12. Управление памятью в Python
  13. Codecademy в Telegram
  14. Преобразование кортежа в словарь.
  15. Декораторы в Python
  16. Создание вкладок с TKinter
  17. Оператор Walrus в Python
  18. Глобальные переменные в Python
  19. Форматирование строк с помощью f-строк
  20. Python Calendar Usage
  21. Создание графики с черепахой
  22. Проверка списка: any() и all()
  23. Оператор «or» в Python
  24. CLI-инструмент howdoi
  25. Работа со списками
  26. Установка виртуального окружения Python
  27. Обработка данных в Python
  28. Работа с CSV в Python
  29. Шаблоны и наследование в Flask
  30. Combobox в Tkinter
  31. Генераторы списков в Python
  32. Вычисление натуральных логарифмов в NumPy
  33. Метод get() в Python
  34. JMESPath в Python
  35. Оператор объединения словарей
  36. Настройка Cron
  37. Работа с временем в Python
  38. Оператор is в Python
  39. Переопределение метода __lshift__
  40. Искажение имен в Python
  41. Деление в Python
  42. Мониторинг работы программы Py-spy
  43. Работа с модулем glob в Python
  44. Декораторы в Python
  45. Генерация случайных данных в NumPy
  46. Выключение компьютера с помощью Python

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