Курс 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. kwargs в Python
  2. Добавление цвета в консоли
  3. Функция divmod() в Python
  4. Установка Python — Простое руководство
  5. Класс-оболочка для словарей
  6. Оператор in для Python
  7. Генераторные функции в Python
  8. Метод matmul для умножения матриц
  9. Печать списка с помощью метода join
  10. Установка и использование emoji
  11. Методы shutil для работы с файлами
  12. Проекты на Python
  13. Названия столбцов в Python таблицах
  14. Использование подчеркивания в REPL
  15. Удаление ключа из словаря в Python
  16. Генераторы в Python
  17. Изменяемые и неизменяемые объекты
  18. Метод remove() для удаления элемента из списка
  19. Использование html-скриптов в Jupyter Notebook
  20. Форматирование строк с помощью f-строк
  21. capitalize() — изменение регистра первого символа строки
  22. Структурирование данных с Pydantic
  23. Выход из профиля в Django
  24. Использование super() в Python
  25. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  26. Капитализация строк
  27. Итерация по итерируемым объектам
  28. Модуль inspect
  29. Сортировка HTML-элементов
  30. Метод ne для сравнения объектов
  31. Подчеркивание в REPL
  32. Шаблоны и наследование в Flask
  33. Множественное назначение в Python
  34. Разрешение имен в Python
  35. Логирование с Logzero
  36. Многопроцессорное программирование в Python
  37. Работа с комплексными числами в Python
  38. UserString в Python
  39. Работа с контекстным менеджером Pool
  40. Вывод символов строки в Python
  41. Подписка на Kaspersky Team
  42. SciPy: широкий функционал для математических операций
  43. Подсказки при вводе данных в Python
  44. Преобразование строк в числа в Python
  45. Поиск индексов в списке
  46. Создание пар из последовательностей

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