Курс 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. Python Enumerate
  2. Проверка подстроки в строке с помощью in
  3. Метод count() для списков
  4. Функция с *args.
  5. Метод __iand__ для пользовательских классов
  6. Работа со словарями
  7. Работа с аргументами командной строки
  8. Управление памятью в numpy.
  9. Раздувающийся словарь в Python
  10. split() без разделителя
  11. Преобразование числа в восьмеричную строку
  12. Операции с комплексными числами
  13. История Python
  14. Создание даты из строки ISO
  15. Установка библиотек в Python
  16. Декоратор Ajax required
  17. F-строки в Python 3.8
  18. Многострочные строки в Python
  19. Вычисление фазы комплексного числа
  20. Изменение регистра данных
  21. Генерация ключей RSA
  22. Работа с классами данных
  23. Срез списка в Python
  24. Проверка типа объекта в Python
  25. Генератор надежных паролей
  26. Декораторы в Python
  27. Работа с асинхронными задачами в Python
  28. Копирование объектов в Python
  29. Получение комбинаций в Python
  30. Метод count в Python: почему count(», ») возвращает 4?
  31. Преобразование Excel в PDF с Spire.XLS
  32. Использование модуля __future__
  33. Python и Юникод: работа с цифрами
  34. Компиляция регулярных выражений
  35. Поиск уникальных и повторяющихся элементов
  36. Асинхронное выполнение задач в Python
  37. Сравнение объектов в Python
  38. Обработка исключений в Python
  39. Функции all() и any() в Python
  40. Проверка памяти объекта
  41. Именование столбцов в Python с pandas
  42. Проверка дубликатов в Python
  43. Многопоточность и асинхронное программирование в Python
  44. Генерация строк с .join()
  45. Получение локальных переменных в Python
  46. Уникальность ключей в словаре

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