Курс 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. Генерация QR-кодов с библиотекой qrcode
  3. Управление фоновыми задачами в Python
  4. Преобразование range в итератор
  5. Строки в Python: апострофы и кавычки
  6. Документация функции help() в Python
  7. Отображение графиков в Jupyter с Matplotlib
  8. Глобальные переменные в Python
  9. Преобразование в float
  10. Метод rmatmul для пользовательских матриц
  11. Создание словаря через dict comprehension
  12. Бесконечные списки в Python
  13. Правила именования переменных
  14. Операторы += в Python
  15. Функции map, filter, reduce
  16. Создание функций с произвольным количеством аргументов
  17. Удаление и повторная вставка ключа в OrderedDict
  18. Показ всплывающих окон Tkinter
  19. Работа с итераторами в Python
  20. split() без разделителя
  21. Enum в Python: создание и использование перечислений
  22. Метод bool() в Python
  23. Форматирование данных с помощью pprint
  24. Лямбда-функции в Python
  25. Обработка исключений в Python
  26. Деление в Python
  27. Работа с словарями в Python
  28. Фильтрация списка чисел
  29. Основные операции с Numpy
  30. Базовые объекты Python
  31. Добавление вложенных списков
  32. Работа с IP-адресами в Python
  33. Отправка HTTP-запросов с User-Agent
  34. Назначение максимального и минимального значения переменной в Python.
  35. Вызов внешних программ в Python с помощью sh
  36. Удаление элементов во время итерации
  37. F-строки в Python
  38. Создание даты из строки ISO
  39. Получение списка кортежей из словаря
  40. Логические операторы в Python
  41. Принципы Zen of Python
  42. Многопоточность в Python
  43. Удаление дубликатов из списка с помощью dict.fromkeys
  44. Метод __iand__ для пользовательских классов
  45. Обработка исключений в Python

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