Курс 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. Удаление элементов из списка в Python.
  5. Оценка точности модели
  6. Работа с коллекциями Python
  7. Отладка регулярных выражений в Python
  8. Проверка версии Python
  9. Списковое включение в Python
  10. Избегайте ошибку FileNotFoundError
  11. Генерация случайных чисел в Python
  12. Просмотр атрибутов и методов класса
  13. Сложные типы данных в Python
  14. Руководство по Pymorphy2
  15. Использование метода lower()
  16. Работа с f-строками 2.0
  17. Именование столбцов в Python с pandas
  18. Игра «Угадывание чисел»
  19. Искажение имен в Python
  20. Библиотека Emoji: использование смайлов в Python
  21. Исключение NotImplementedError
  22. Функция sleep() в Python
  23. globals и locals
  24. Обработка ошибок в Python
  25. Работа с массивами в Python
  26. Отображение HTML кода в Python
  27. Группы исключений в Python
  28. Модуль functools в Python
  29. Печать календаря в Python
  30. Скачать видео с YouTube
  31. Работа с файлами в Python
  32. Поиск индексов подстроки
  33. Сортировка элементов в Python
  34. GitHub в Telegram: подписка на уведомления
  35. Python: Фильтрация списков с помощью filter()
  36. Counter() — подсчет элементов
  37. Условные выражения в Python
  38. Работа с временем в Python
  39. Flask: создание веб-приложений
  40. Поиск уникальных и повторяющихся элементов
  41. Работа с collections.Counter
  42. Преобразование чисел в Python
  43. Извлечение статей с newspaper3k
  44. Оператор морж в Python 3.8
  45. Заказ карты Тинькофф Black
  46. Передача аргументов в Python
  47. Функция map() в Python
  48. Метод __call__ в Python

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