Курс 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. Работа с timedelta в Python
  2. Нан-рефлексивность в Python
  3. Анализ кода — Python
  4. Ускоренный импорт библиотек
  5. Генерация QR-кодов с Python
  6. Сложение матриц в NumPy
  7. Сравнение def и lambda в Python
  8. OrderedDict — упорядоченный словарь
  9. Явный импорт в Python
  10. Глобальные переменные в Python
  11. Структура строк в Python
  12. Логические операторы в Python
  13. Лямбда-функции в цикле
  14. Аннотации типов в Python
  15. Функция enumerate в Python
  16. split() без разделителя
  17. kwargs в Python
  18. Замена переменных в Python
  19. Генератор чисел Фибоначчи
  20. Получение размера объекта с sys.getsizeof()
  21. Расчет времени выполнения
  22. Переопределение метода __or__()
  23. Метод split() для разделения строк
  24. Тестирование с responses
  25. Работа с пакетами
  26. Управление мышью и клавиатурой с Pyautogui
  27. Генератор данных в Keras
  28. Поиск элементов BeautifulSoup
  29. Объединение списков в Python
  30. Сериализация и десериализация объектов
  31. Множества и frozenset
  32. Цепные операции в Python
  33. Сортировка и обратный порядок
  34. Преобразование чисел в слова
  35. Метод join() для объединения элементов строки
  36. Получение текущей даты и времени с помощью datetime
  37. Поиск с помощью регулярных выражений
  38. Отправка поздравлений по дню рождения
  39. Декораторы в Python
  40. Импорт модулей в Python 3.12
  41. Идентификатор объекта в Python
  42. Тернарный оператор в Python
  43. Шаблоны Flask: условия и циклы
  44. Работа с YAML в Python
  45. Создание словаря через dict comprehension
  46. Подсчет элементов в Python
  47. Функция pow() — возвести число в степень

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