Курс 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. Метод title() в Python
  2. split() без разделителя
  3. Создание словарей с defaultdict()
  4. Красивый вывод списка
  5. Применение функции к каждому элементу списка
  6. Хешируемые ключи в Python
  7. Создание списков в Python
  8. Игра «Камень, ножницы, бумага» — Python
  9. Сравнение объектов в Python
  10. Работа с многоуровневыми словарями в Python
  11. Извлечение новостей с помощью newspaper3k
  12. Декораторы в Python
  13. Вычисление логарифмов в Python
  14. Срезы в Numpy
  15. Создание итератора
  16. Вызов функций по строке в Python.
  17. Генераторы данных
  18. Работа с датой и временем в Python
  19. Поиск шаблона в строке
  20. Форматирование строк с f-строками
  21. Добавление вложенных списков
  22. Оператор деления для класса Rational
  23. Асинхронное программирование с asyncio
  24. Динамическая типизация в Python
  25. Работа с аргументами командной строки в Python
  26. Работа со словарями
  27. Карта бомбоубежищ в Москве и Питере
  28. Реверс строки в Python
  29. Модуль future Python
  30. Методы classmethod и staticmethod
  31. Асинхронное выполнение задач в процессах
  32. Изменение элемента списка
  33. Создание копии итератора
  34. Подписка на SelectelNews в Twitter
  35. Создание списка через итерацию
  36. Работа с модулем Calendar
  37. Python OrderedDict и fromkeys() — работа с словарями
  38. Поиск шаблона в начале строки
  39. Работа с PosixPath() в Python
  40. kwargs в Python
  41. 9 уловок для чистого кода
  42. Упрощенный вывод данных в Python
  43. Декораторы в Python
  44. Многострочные комментарии в Python
  45. Основы Python за 14 дней
  46. Импорт в Python: список all
  47. Передача параметров в Python
  48. Операции с кортежами

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