Курс 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. Поиск анаграмм с Counter
  4. Работа с часовыми поясами в Python
  5. Использование модуля __future__
  6. Фильтрация списка от «ложных» значений
  7. Python Метод sleep() времени
  8. Справка по импортированным модулям
  9. Работа с географическими данными.
  10. Именованные аргументы в Python
  11. Импорт в Python: список all
  12. Создание обратного итератора
  13. Сравнение строк в Python
  14. PrettyTable: создание таблицы
  15. Логический оператор «and» в Python
  16. Функция zip() в Python
  17. Вывод букв строки в Python
  18. Очистка входных данных
  19. Функция reversed() в Python
  20. Оператор break в Python
  21. Python reversed() функция
  22. Список и кортеж в Python
  23. ChainMap избыточные ключи
  24. Списки в Python: основы
  25. Работа с исключениями в Python
  26. Блок else в Python
  27. Многострочные комментарии в Python
  28. Передача аргументов через **arguments
  29. Метод __getitem__ в Python
  30. Сравнение неупорядоченных списков
  31. Нахождение самого длинного слова в списке с помощью max
  32. Метод remove() для удаления элемента из списка
  33. Автоматизация скриптов на AWS Lightsail.
  34. Возврат нескольких значений
  35. Необязательные аргументы в Python
  36. Python 3.12: переиспользование кавычек
  37. Использование подчеркивания в REPL
  38. Python: изменяемые и неизменяемые коллекции
  39. Метод __int__ в Python
  40. Ускорение кода с помощью векторизации
  41. Инверсия списка и строки
  42. Генератор данных в Keras
  43. Настройка шрифта и цвета в Tkinter
  44. Генератор списка с условием if
  45. Python: Фильтрация списков с помощью filter()
  46. Конкатенация строк с join() в Python
  47. Шаблоны Flask: условия и циклы
  48. Повторение элементов в Python

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