Курс 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. Возвращение нескольких значений через кортеж или класс
  2. Работа с модулем random
  3. Сортировка с помощью key
  4. Метод setdefault() в Python
  5. Создание Telegram-бота на Python
  6. Особенности ключей словаря в Python
  7. Вложенные циклы в Python
  8. Перегрузка операторов в Python
  9. Работа с дробями в Python
  10. Установка и использование TensorFlow
  11. Чтение и запись TOML-конфигов
  12. Colorama: окрашивание текста в Python
  13. Измерение времени выполнения кода
  14. Регистрация на курсы SF Education
  15. Обработка ошибок в Python
  16. Переворот списка в Python
  17. List Comprehension Tutorial
  18. Импортирование в Python
  19. Работа с модулем Calendar
  20. Список переменных с %who
  21. Стать Python-разработчиком
  22. Проверка класса объекта
  23. Безопасные SQL-запросы в Python 3.11
  24. Подписка на каналы разработчиков
  25. Сортировка и обратный порядок
  26. Методы сравнения множеств
  27. Изменение регистра данных
  28. Многоточие в Python
  29. Импорт модуля из другого каталога
  30. Анализ текста на русском языке с помощью Pymystem3
  31. Оператор Walrus в Python
  32. Генераторы в Python
  33. CLI-инструмент howdoi
  34. Разделение строки с регулярными выражениями
  35. Участие в LP стейкинге Waves
  36. Аннотации типов в Python
  37. Взаимодействие с sys
  38. Поиск самого длинного слова в списке с использованием max()
  39. Установка Git и AWS CLI
  40. Копирование и вставка текста в Python
  41. Установка и обучение ChatterBot

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