Курс 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. Цикл for в Python
  3. Оператор «and» в Python
  4. Профилирование с Pandas
  5. Разработка игры Pong с turtle
  6. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  7. Открытие и редактирование скриптов Python
  8. Конвертация изображений в PDF
  9. Область видимости переменных
  10. Работа с файлами в Python
  11. Форматирование строк с % в Python
  12. Именование столбцов в Python с pandas
  13. Атрибуты класса и экземпляра
  14. Работа с комплексными числами
  15. Основы работы с os
  16. Модуль itertools: эффективная работа с итераторами
  17. Получение комбинаций в Python
  18. Игра Виселица на Python
  19. Python groupby() из itertools: работа с повторяющимися элементами
  20. Операции с комплексными числами
  21. Библиотека sh: удобные команды терминала
  22. Удаление элемента по индексу в Python
  23. Копирование файлов с shutil()
  24. Замена символов в строке
  25. TON Smart Challenge #2: участие и подготовка
  26. Установка и использование pyshorteners
  27. Применение функции к списку
  28. Отладчик pdb: начало работы
  29. Вычисление времени выполнения
  30. Переменные в Python: сокращение гласных
  31. PATCH-запрос с библиотекой requests
  32. Динамическая типизация в Python
  33. Удаление дубликатов из списка
  34. Хешируемые ключи в Python
  35. Новшества Flask 2.0
  36. Глобальные переменные в Python
  37. Запуск файлового сервера
  38. Объединение словарей в Python
  39. Сравнение строк в Python
  40. Работа с NumPy.linalg
  41. Срез списка в Python
  42. Переопределение метода
  43. Тип данных TypeVarTuple
  44. Метод gt в Python
  45. Преобразование букв в нижний регистр
  46. Удаление эмодзи с помощью pandas

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