Курс 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 Enumerate
  3. Генераторы списков
  4. Описание скриптов в README
  5. Профилирование кода
  6. Метод remove() для удаления элемента из списка
  7. Удаление пробелов методом translate()
  8. Печать месячного календаря
  9. Установка Python — Простое руководство
  10. Работа со строками в Python
  11. Красивый вывод списка
  12. Удаление элемента по индексу в Python
  13. Работа с прокси в Python
  14. Работа с модулем cmath
  15. Оценка выражений генератора в Python
  16. Работа с геоданными с помощью geopy
  17. Генераторы в Python
  18. Склеивание строк через метод join()
  19. inspect в Python: анализ кода
  20. Работа со словарями в Python
  21. Передача аргументов через **arguments
  22. Копирование и вставка текста в Python
  23. Цикл while в Python
  24. Подробная информация о %pinfo
  25. Преобразование числа в восьмеричную строку
  26. Измерение времени выполнения
  27. Подсказки типов в Python
  28. Модуль inspect
  29. Установка и использование emoji
  30. Встроенные функции Python
  31. TON Smart Challenge #2: участие и подготовка
  32. Работа с deque в Python
  33. Итерация по копии коллекции
  34. F-строки в Python
  35. Python: библиотеки и функции
  36. Метод rmatmul для пользовательских матриц
  37. Непрерывная проверка в Python
  38. Разделение строки на пары ключ-значение.
  39. Обработка исключений в Python
  40. Создание GUI на Tkinter
  41. Numpy: разбиение массивов
  42. Эффективная конкатенация строк с использованием join()
  43. Принципы LSP и ISP в Python
  44. Работа с географическими данными.

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