Курс 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. Оператор continue в Python
  3. Преобразование списка в словарь через генератор
  4. Структурирование данных с Pydantic
  5. Метод __complex__ в Python
  6. Перехват исключений в Python
  7. Управление асинхронными задачами с помощью Semaphore
  8. Метод difference_update() — разность множеств
  9. Метод join() для объединения элементов
  10. Управление контекстом с помощью декоратора contextmanager
  11. Работа с геоданными с помощью geopy
  12. Распаковка элементов последовательности
  13. Обработка исключений в Python
  14. Руководство по Pymorphy2
  15. Перевод эмодзи и эмотиконов.
  16. Lambda-функция в Python: использование с map() и sum()
  17. Участие в LP стейкинге Waves
  18. Работа с байтовыми строками в Python
  19. Генератор списка с условием if
  20. Лямбда-функции в цикле
  21. Работа с срезами в Python
  22. Управление виртуальными окружениями в Python
  23. Логирование с Logzero
  24. Ограничение итераций в Python
  25. Отображение HTML кода в Python
  26. Форматирование строк в Python
  27. Преобразование данных в Python
  28. Сравнение def и lambda-функций
  29. Генераторы в Python
  30. Работа с географическими данными.
  31. Форматирование строк в Python
  32. Хешируемые ключи в Python
  33. Обход словаря в Python
  34. Получение пути к текущему скрипту с помощью os
  35. Метод rsub для пользовательских чисел
  36. Итерации в Python
  37. Оператор «is not» в Python
  38. Именование переменных в Python
  39. Многострочные комментарии в Python
  40. Обновление множества в Python
  41. Генерация тестовых данных с factory_boy
  42. JMESPath в Python
  43. Работа с кортежами в Python
  44. Извлечение новостей с newspaper3k
  45. Очистка списка от False, None, 0, «»
  46. Установка максимального количества цифр
  47. Многопроцессорное программирование в Python
  48. Асинхронное программирование с asyncio

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