Курс 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. Непрерывная проверка в Python
  2. Равенство и идентичность в Python
  3. Получение списка кортежей из словаря
  4. Функции в Python: создание и вызов
  5. Именованные срезы в Python
  6. Разделение строки на пары ключ-значение.
  7. Создание списка через итерацию
  8. Упрощенный вывод данных в Python
  9. Локальные переменные.
  10. Разработка Telegram-ботов
  11. Создание словаря и множества
  12. Регулярные выражения в Python
  13. Обработка ошибки IndexError
  14. Работа с срезами в Python
  15. Метод rename() для переименования файлов и каталогов
  16. Разделение функций на этапы
  17. Поиск шаблона в начале строки
  18. Присвоение значений переменным в Python
  19. Создание и инициализация объектов
  20. Работа с парами ключ-значение
  21. Работа с defaultdictами в Python
  22. Искажение имен в Python
  23. Замена текста с re.sub()
  24. Поиск с библиотекой Google
  25. Создание коллекций из генератора
  26. Очистка вывода в Python
  27. Сортировка слиянием
  28. Объединение множеств в Python
  29. Преобразование списка в словарь через генератор
  30. Динамическая типизация в Python
  31. Метод join для наборов
  32. Lambda Functions in Python
  33. Работа с атрибутом dict
  34. Проверка подстроки в строке с помощью in
  35. PEP-401: оператор
  36. Группы исключений в Python
  37. Список переменных в Python
  38. Работа с исключениями в Python
  39. Colorama: окрашивание текста в Python
  40. Сравнение объектов в Python
  41. Работа с асинхронными задачами в Python
  42. Метод ior для битовых операций
  43. Очистка списка от False, None, 0, «»
  44. Аннотации типов в Python
  45. Работа с контекстными переменными
  46. JSON-esque в Python
  47. Обязательные аргументы в Python
  48. Метод rsub в Python: расширение функциональности вычитания

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