Курс 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. Python: Splat-оператор и splatty-splat
  3. Преобразование чисел в слова
  4. Структура данных deque в Python
  5. Метод rmatmul для пользовательских матриц
  6. Тестирование с unittest
  7. Установка и использование TensorFlow
  8. Шаблоны и наследование в Flask
  9. Создание и удаление объектов
  10. Monkey Patching в Python
  11. Создание словарей и множеств в Python
  12. Исключение NotImplementedError
  13. Фильтрация входных данных в Python
  14. Генераторы в Python
  15. Протокол управления контекстом
  16. Метод setitem в Python
  17. Сумма элементов списка
  18. Работа с GitHub в Telegram
  19. Установка Python — Простое руководство
  20. Переопределение метода len
  21. IPython и Jupyter Notebook: руководство
  22. Частичное совпадение пользовательского ввода в Python 3.10
  23. Pretty-printing JSON в Python
  24. Создание функций высшего порядка
  25. Тайное преобразование типа ключа
  26. Проверка вхождения подстроки
  27. Упрощенный вывод данных в Python
  28. Функция print() — вывод информации
  29. Функции-генераторы в Python
  30. Генераторы по генератору
  31. Обработка ошибок в Python
  32. Метод gt в Python
  33. Хэш-функции и метод цепочек
  34. Роль запятой в Python
  35. Проверка версии Python
  36. List Comprehension Tutorial
  37. Избегание циклических зависимостей классов в Python
  38. Метод Self в Python
  39. Динамическая типизация в Python
  40. Обмен данными с asyncio.Queue
  41. Перегрузка операторов в Python
  42. Изменение IP-адреса в Python
  43. Модуль Operator в Python
  44. Оптимизация памяти с помощью __slots__

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