Курс 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. Работа с zip-архивами в Python
  2. SciPy: широкий функционал для математических операций
  3. Метод get для словаря
  4. Метод get() для словарей
  5. Работа со словарями в Python
  6. Преобразование чисел в восьмеричную строку
  7. Pretty-printing JSON в Python
  8. Обработка ошибок в Python
  9. Модуль os в Python: работа с файлами
  10. Сложение матриц в NumPy
  11. Метод __irshift__ для побитового сдвига вправо
  12. Открытие и редактирование скриптов Python
  13. Импорт модулей в Python 3.12
  14. Класс Counter() для подсчета элементов
  15. Генерация ключей RSA
  16. Проверка наличия элемента в списке
  17. Просмотр внешнего файла в Python
  18. Использование эмодзи в Python
  19. Enum в Python
  20. Оператор «or» в Python
  21. Запрос DELETE с библиотекой requests
  22. Фильтрация списка от «ложных» значений
  23. Документирование функций в Python
  24. kwargs в Python
  25. Методы HTTP запросов в Flask
  26. Скачать видео с YouTube
  27. Декораторы с @wraps
  28. Возврат нескольких значений
  29. Объединение словарей в Python
  30. Удаление специальных символов
  31. Проверка условий в Python
  32. Функция map() в Python
  33. Строковое представление объектов
  34. Метод count() для списка
  35. Цикл for в Python
  36. Создание OrderedDict
  37. Настройка Cron
  38. Оператор «not» в Python
  39. Обработка данных в Python
  40. Добавление элементов в список
  41. Область видимости переменных в Python
  42. Numpy: объединение массивов
  43. Нахождение хеша для бесконечности и NaN в Python
  44. Установка пакета в Python
  45. Распаковка аргументов в Python
  46. Генератор списка в Python

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