Курс 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. Курс Data Scientist в медицине
  2. Функция product() в Python
  3. OrderedDict — упорядоченный словарь
  4. Преобразование списка в словарь через генератор
  5. Функция pow() — возвести число в степень
  6. Работа с контекстным менеджером Pool
  7. Работа с CSV в Python
  8. kwargs в Python
  9. Экспорт функций в Python
  10. Обновление ключей в Python
  11. Операторы увеличения и уменьшения в Python
  12. Отладка производительности Python
  13. Работа с модулем random
  14. Работа с IP-адресами в Python
  15. Numpy: использование Ellipsis
  16. Декораторы с @wraps
  17. Распаковка значений в Python
  18. Метод join() для объединения элементов строки
  19. Основные методы NumPy
  20. Python: динамическая типизация и проверка типов
  21. Поиск анаграмм с Counter
  22. Работа с итераторами в Python
  23. Обработка исключений
  24. Функция reduce() из модуля functools
  25. Создание таблиц в Python с PrettyTable
  26. Создание пользовательской коллекции в Python
  27. Оператор «not» в Python
  28. PrettyTable: создание таблицы
  29. Создание списков в Python
  30. Делегирование в Python
  31. Цикл for в Python
  32. Профилирование данных с Pandas.
  33. Работа с рекламными данными в Pandas
  34. Howdoi — получение ответов из терминала
  35. Получение ID текущего процесса
  36. Сортировка в Python
  37. Оформление кода на Python
  38. Вывод баннеров
  39. Списковые включения в Python
  40. Синхронизация потоков с time.sleep()
  41. Склеивание строк через метод join()
  42. Функции в Python: создание и вызов
  43. Python union() функция — объединение множеств
  44. Обработка исключений с блоком else
  45. Создание виртуальной среды
  46. Операции с массивами в NumPy
  47. Метод ifloordiv для пользовательских классов
  48. Потоковый ввод в Python

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