Курс 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. Функции min(), max(), sum()
  2. Методы работы со строками в Python
  3. Быстрый поиск кода
  4. Иерархия классов в Python
  5. Получение комбинаций в Python
  6. Импорт модулей в Python 3.12
  7. Установка переменной среды в Python
  8. Измерение времени выполнения в Python
  9. Хранение данных
  10. Открытие и запись файлов
  11. Структуры данных в Python
  12. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  13. Применение функции map() с лямбда-функциями
  14. Объединение списков в Python.
  15. Анонимные функции Lambda
  16. Сортировка в Python
  17. Библиотека schedule: планировщик задач
  18. Печать календаря
  19. Транспонирование матрицы в Python
  20. Асинхронное выполнение задач в Python
  21. Копирование файлов с shutil()
  22. Очистка списка от False, None, 0, «»
  23. Метод enumerate() в Python
  24. Явный импорт в Python
  25. Операции с числами в Python
  26. Обработка исключений в Python
  27. Метод get для словарей
  28. Объединение списков в Python
  29. Python Аргументы по умолчанию
  30. Декораторы классов
  31. Работа с итераторами в Python
  32. Работа с массивами в Numpy
  33. Работа с комплексными числами
  34. Управление контекстом выполнения кода
  35. Работа с прокси в Python
  36. Именованные срезы в Python
  37. Фильтрация данных в Python.
  38. Декораторы для регистрации функций
  39. ChainMap избыточные ключи
  40. Обработка ошибки IndexError
  41. Функциональное программирование в Python
  42. Python enumerate() функции
  43. Проверка индексов коллекции
  44. Параллельные вычисления в Python
  45. Проверка кортежей.
  46. Исключение NotImplementedError

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