Курс 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. Именование столбцов в Python с pandas
  3. Работа с GitHub в Telegram
  4. Использование type hints
  5. GitHub в Telegram: подписка на уведомления
  6. Работа с JSON данными в Python
  7. Форматирование строк в Python.
  8. Метод setitem в Python
  9. Замер времени выполнения кода
  10. Оператор in в Python
  11. Сохранение и загрузка модели в PyTorch
  12. Просмотр атрибутов и методов класса
  13. Преобразование документов в PDF с помощью Spire.Office
  14. Создание словаря в Python
  15. Списковый компрехеншен.
  16. Динамические маршруты во Flask
  17. Подсчет частоты элементов с Counter
  18. Курс по дообучению ChatGPT
  19. Протокол управления контекстом
  20. Удаление файлов с shutil.os.remove()
  21. Сравнение строк в Python
  22. Операции с массивами в NumPy
  23. Проверка вхождения подстроки
  24. Поиск анаграмм с Counter
  25. Копирование объектов в Python
  26. Нахождение разницы между списками в Python
  27. Работа с YAML в Python
  28. Фильтрация элементов с помощью islice
  29. Метод get для словаря
  30. Декоратор total_ordering для сравнения объектов
  31. Создание директории в Python
  32. Обработка ошибок ввода данных
  33. Преобразование символов с помощью map
  34. Работа с модулем random
  35. Оператор объединения словарей
  36. Основы Python
  37. Операция += для списков
  38. Уникальность ключей в словаре
  39. Подсказки типов в Python
  40. Отладчик pdb: начало работы
  41. Обновление множества в Python
  42. Создание комплексных чисел
  43. Передача аргументов в Python
  44. Обработка ошибок в JSON данных
  45. Аннотации типов в Python
  46. Проверка индексов коллекции
  47. Ветвление выражения в Python
  48. Генератор списка с условием if

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