Курс Python → Передача параметров в Python

Для передачи опциональных или именованных параметров из одной функции в другую в Python используются спецификаторы * и **. Спецификатор * в списке аргументов функции позволяет получить все переданные позиционные аргументы в виде кортежа, а ** возвращает все переданные именованные параметры в виде словаря. Например:


def func1(*args, **kwargs):
    print(args)  # позиционные аргументы
    print(kwargs)  # именованные параметры

func1(1, 2, 3, a=4, b=5)

В данном примере функция func1 принимает произвольное количество позиционных аргументов и именованных параметров. При вызове функции передаются аргументы 1, 2, 3 и параметры a=4, b=5. Результат выполнения функции будет:


(1, 2, 3)
{'a': 4, 'b': 5}

Полученные кортеж и словарь можно затем передать в другую функцию, используя спецификаторы * и ** при вызове функции. Например:


def func2(*args, **kwargs):
    print("Received args:", args)
    print("Received kwargs:", kwargs)

def func1(*args, **kwargs):
    func2(*args, **kwargs)

func1(1, 2, 3, a=4, b=5)

В этом примере функция func1 принимает аргументы и параметры, а затем передает их в функцию func2, используя спецификаторы * и **. Результат выполнения функции func2 будет аналогичным предыдущему примеру.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Инвертирование словаря
  2. Оператор in для Python
  3. Анонимные функции в Python
  4. Форматирование строк в Python.
  5. Печать комбинаций в Python с Itertools
  6. Создание словаря и множества
  7. Модуль pprint
  8. Создание коллекций из генератора
  9. Работа с collections.Counter
  10. Безопасные SQL-запросы в Python 3.11
  11. Метод lt для сортировки объектов
  12. Константы в модуле cmath
  13. Форматирование данных с pprint
  14. Работа с итераторами через срезы
  15. Работа с путями в Python
  16. Работа с кортежами
  17. Создание словарей в Python
  18. Извлечение статей с newspaper3k
  19. История Python
  20. Аннотации типов в Python
  21. Форматирование строк в Python
  22. Измерение времени выполнения кода
  23. Вывод с переменной через запятую
  24. Улучшение читаемости кода в Python
  25. Извлечение новостей с помощью newspaper3k
  26. Создание списка через цикл
  27. Метод is_absolute() для PurePath
  28. Измерение времени выполнения кода с помощью time
  29. Обмен данными с asyncio.Queue
  30. Numpy: разбиение массивов
  31. Python Enumerate
  32. Получение ID процесса
  33. F-строки в Python 3.8
  34. Улучшенные подсказки для импорта в Python 3.12
  35. Скрытие вывода данных
  36. Генераторы в Python
  37. Округление чисел с помощью round
  38. Метод splitlines() для разделения строк
  39. Инверсия списка и строки в Python
  40. Генераторы в Python
  41. Множественное наследование в Python
  42. Область видимости переменных

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