Курс 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. lru_cache оптимизация функций
  2. Упрощение условных выражений с тернарным оператором
  3. Подсказки при вводе данных в Python
  4. Декоратор Ajax required
  5. Генерация тестовых данных с factory_boy
  6. Метод __index__ в Python
  7. Удаление элемента по индексу в Python
  8. Функция reduce() в Python
  9. Вакансии в Nebius
  10. Изменение элемента списка
  11. Преобразование в float
  12. Управление ресурсами с контекстными менеджерами
  13. Модуль math: константы π и e
  14. Работа с массивами в Numpy
  15. Метод lt для сортировки объектов
  16. Генераторы в Python
  17. Асинхронное программирование с asyncio
  18. Создание детектора плагиата
  19. Применение функции к списку
  20. Печать календаря в Python
  21. Создание namedtuple списком полей
  22. Регистрация на курсы SF Education
  23. Метод join() для объединения элементов строки
  24. Названия столбцов в Python таблицах
  25. Работа с файлами в Python
  26. Частичное применение функций в Python
  27. Запуск внешних программ с subprocess
  28. Измерение времени выполнения кода
  29. Измерение времени выполнения кода в Python
  30. Списки: объединение, изменение
  31. Основы работы со строками в Python
  32. Magic Commands — улучшение работы с Python
  33. Преобразование Excel в PDF с Spire.XLS
  34. Получение срезов итераторов
  35. Транспонирование матрицы
  36. split() — разделение строки
  37. Генераторы списков в Python
  38. Функция pow() — возвести число в степень
  39. Возврат значений из генератора
  40. Значения по умолчанию в Python
  41. Создание файла с проверкой ошибки
  42. Создание и инициализация объектов
  43. Создание директории в Python
  44. Функции высшего порядка в Python
  45. Работа с множествами в Python
  46. Генераторы словарей и множеств
  47. Удаление ключа из словаря в Python
  48. Переворот строки

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