Курс 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. Обработка StopIteration в Python
  2. Вывод символов строки в Python
  3. Преобразование типов данных в set comprehension
  4. Синхронизация доступа к ресурсам
  5. Перемешивание списка с shuffle()
  6. Функции all() и any() в Python
  7. Тип данных TypeVarTuple
  8. Потоковый ввод в Python
  9. Цикл for в Python
  10. Поиск частого элемента
  11. Объединение кортежей в Python
  12. Удаление элемента по индексу в Python
  13. Управление фоновыми задачами в Python
  14. Печать в одной строке
  15. Бесконечная проверка в Python
  16. Работа со строками в Python
  17. Лямбда-функции в Python
  18. Метод get для словарей
  19. Работа с Path в Python
  20. Установка пакета в Python
  21. Пространство имен в Python
  22. Удаление элементов во время итерации
  23. Python Translator: создание локальных переводчиков
  24. Python 3.12: переиспользование кавычек
  25. Оптимизация методов в Python 3.7
  26. Генерация ключей RSA
  27. Проверка наличия элемента в списке
  28. Проверка подстроки в строке с помощью in
  29. Декораторы классов
  30. Извлечение аудио из видео
  31. Python Enum Weekday Usage
  32. Поиск с библиотекой Google
  33. Создание виртуальной среды
  34. Атрибуты объекта в Python
  35. Пропуск начальных строк с помощью dropwhile()
  36. Форматирование строк с f-строками
  37. Класс-оболочка для словарей
  38. Счетчик ссылок в Python
  39. Регистрация на курсы SF Education
  40. Списки в Python: синтаксис представления
  41. Метод __ilshift__ для битового сдвига влево
  42. Передача аргументов в Python
  43. Условные выражения в Python
  44. Применение функции к списку
  45. Множественное присваивание в Python

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