Курс 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
  2. kwargs в Python
  3. Основные операции с библиотекой Numpy
  4. Замеры производительности в Python
  5. Python и Юникод: работа с цифрами
  6. Операторы объединения в Python 3.9
  7. Удаление элементов из списка в Python.
  8. Автоматизация скриптов на AWS Lightsail.
  9. Оператор деления для класса Rational
  10. Импортирование в Python
  11. Перегрузка операторов в Python
  12. Уникальные значения из списка
  13. Создание объекта времени
  14. Класс Counter() для подсчета элементов
  15. Срез в Python
  16. Работа с контекст-менеджером «with»
  17. Работа с Path в Python
  18. Список переменных в Python
  19. Python 3.12: переиспользование кавычек
  20. Проблемы с dict в Python
  21. Метод __call__ в Python
  22. Проверка файла .py на синтаксис.
  23. Оператор == в Python
  24. Создание списка через итерацию
  25. Создание пользовательской коллекции в Python
  26. Обновление ключей в Python
  27. Импорт модулей и пакетов в Python
  28. Удаление элементов по срезу
  29. Безопасные SQL-запросы в Python 3.11
  30. Подсчет элементов с помощью Counter
  31. Работа с YAML в Python: PyYAML.
  32. Работа с множествами в Python
  33. Разбиение строки в Python
  34. Преобразование данных в Python
  35. Объединение кортежей в Python
  36. Работа с срезами в Python
  37. Изменение элемента списка
  38. Создание пар из последовательностей
  39. Применение команды break
  40. Каналы Senior: Python, Java, Frontend, SQL, C++
  41. Оператор is в Python
  42. Разделение строки в Python
  43. Ключевое слово global в Python
  44. Оформление текста в консоли с TermColor
  45. Многострочные строки в Python
  46. Сортировка с помощью key

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