Курс Python → Распаковка аргументов в Python

Использование символов * и ** для распаковки аргументов функций является мощным инструментом в Python. С их помощью можно передавать переменное количество аргументов в функцию, что делает код более гибким и удобным. Символ * используется для распаковки кортежей, а символ ** для распаковки словарей.

Когда функция требует большое количество аргументов, использование * и ** может значительно упростить передачу параметров. Вместо того чтобы перечислять все аргументы по одному, можно создать кортеж или словарь и передать их с помощью символов * и **. Это делает код более компактным и понятным.


def example_function(*args, **kwargs):
    for arg in args:
        print(arg)
    for key, value in kwargs.items():
        print(f"{key}: {value}")
        
arguments = (1, 2, 3)
keyword_arguments = {'name': 'Alice', 'age': 30}

example_function(*arguments, **keyword_arguments)

Пример кода выше демонстрирует использование *args и **kwargs в функции. Переменная args будет представлять собой кортеж с переданными аргументами, а kwargs — словарь с именованными аргументами. Такой подход делает функцию более гибкой и позволяет передавать различные комбинации аргументов.

Использование распаковки аргументов также улучшает читаемость кода. Вместо того чтобы анализировать длинный список аргументов, разбитый запятыми, можно сразу увидеть, какие аргументы передаются функции. Это делает код более понятным и удобным для сопровождения.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Обход дочерних элементов BeautifulSoup
  2. Разработка Telegram-ботов
  3. Перезагрузка оператора в Python
  4. Метод __complex__ в Python
  5. Enum в Python
  6. Python: отличительная особенность — отступы
  7. Именованные кортежи в Python
  8. Настройка вывода в Numpy
  9. Атрибуты класса и экземпляра в Python
  10. Группировка элементов Python
  11. Перетасовка списков в Python
  12. Модуль inspect: получение информации о объектах
  13. Запуск Python из интерпретатора
  14. Получение пути к текущему скрипту с помощью os
  15. Переменные в Python
  16. Работа со строками в Python
  17. Форматирование строк с % в Python
  18. Использование двоеточия в Python
  19. Преобразование строк в числа в Python
  20. Непрерывная проверка в Python
  21. Создание спинбокса в tkinter
  22. Ошибка NotImplemented в Python
  23. HTTP-запросы с библиотекой Requests
  24. Создание словарей и множеств в Python
  25. Нахождение хеша для бесконечности и NaN в Python
  26. Оформление кода по PEP 8
  27. Сравнение def и lambda функций в Python
  28. Метод join() с набором
  29. Оператор морж в Python 3.8
  30. Определение относительного пути
  31. Оператор Walrus в Python 3.8
  32. Строки в Python: апострофы и кавычки
  33. Преобразование range в итератор
  34. Вывод переменной и строки в Python
  35. Подсказки типов в Python
  36. Преобразование списка в словарь через генератор
  37. Работа с deque из collections
  38. Работа с модулем random
  39. Оператор «or» в Python
  40. Подписка на каналы разработчиков
  41. Логические значения в Python
  42. Иерархия классов в Python
  43. Обучение модели с указанием эпох
  44. Объединение строк с помощью метода join
  45. Возврат нескольких значений
  46. Progress с библиотекой tqdm
  47. Использование модуля __future__

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