Курс 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. Основы слова
  5. Метод rlshift для битового сдвига
  6. Основы Python за 14 дней
  7. Метод округления чисел
  8. Создание таблиц в Python с PrettyTable
  9. Генераторы списков в Python
  10. Вывод сложных структур данных с помощью pprint
  11. Шаблоны Flask: условия и циклы
  12. Математические функции в Python
  13. Функция map() и ленивая оценка
  14. enumerate() в Python для работы с индексами
  15. Работа с парами ключ-значение
  16. Big O оптимизация
  17. Удаление символа из строки
  18. Работа с комбинациями в Python.
  19. Кортеж в Python: создание и использование
  20. Очистка списка от False, None, 0, «»
  21. Участие в LP стейкинге Waves
  22. Обработка исключений в Python
  23. Colorama: окрашивание текста в Python
  24. Списковое включение в Python
  25. Создание виртуальной среды
  26. Комментарии в Python
  27. Форматирование чисел в Python
  28. Удаление специальных символов
  29. Подсчет элементов в Python
  30. Условное добавление элементов в список
  31. Переменные в Python: сокращение гласных
  32. Метод rsub для пользовательских чисел
  33. Хранение переменных в Python.
  34. Цикл for в Python
  35. Преобразование строки в число
  36. Освоение Python
  37. capitalize() — изменение регистра первого символа строки
  38. Операции с датами в Python
  39. Построение графиков в Matplotlib
  40. Использование *args
  41. Контроль точности вывода чисел
  42. Печать в одной строке
  43. Срез в Python
  44. Работа со строками в Python
  45. Базовые объекты Python
  46. Метод join() для объединения элементов

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