Курс 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. Оператор is в Python
  2. Удаление элементов из списка в Python.
  3. Парсинг статей с Newspaper3k
  4. Удаление дубликатов из списка
  5. Красивый вывод списка
  6. Проверка версии Python
  7. Инициализация переменных
  8. Отладка кода
  9. Получение ID процесса
  10. Перезапуск ячейки в Jupyter Notebook с dostoevsky
  11. Мониторинг работы программы Py-spy
  12. *args и **kwargs в Python
  13. Проблема с изменяемыми аргументами
  14. Хранение переменных в словаре.
  15. Получение списка кортежей из словаря
  16. Строки в Python: апострофы и кавычки
  17. Операторы присваивания в Python
  18. Удаление элементов из списка
  19. Профилирование с cProfile
  20. Операции со строками в Python
  21. Операции с датами в Python
  22. Передача словаря через **kwargs
  23. Циклы for в Python
  24. Приближение чисел в Python
  25. Метод ne для сравнения объектов
  26. Замыкания в Python
  27. Работа со строками в Python
  28. Генератор надежных паролей
  29. Работа с изображениями PIL
  30. Встраивание HTML в Jupyter Notebook
  31. Обновление множества в Python
  32. Удаление дубликатов из списка с помощью dict.fromkeys
  33. Установка и использование pyshorteners
  34. Создание Telegram-бота на Python
  35. Запуск файлового сервера
  36. Переопределение метода len
  37. Объединение словарей в Python
  38. Перезагрузка оператора в Python
  39. Удаление эмодзи с помощью pandas
  40. Вычисление разности множеств в Python
  41. Функция zip() в Python
  42. Декораторы в Python
  43. Операции с массивами в NumPy
  44. Конкатенация списков в Python
  45. Цикл for в Python
  46. Метод is_absolute() для PurePath

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