Курс 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. Разделение строки с помощью split()
  2. Псевдонимы в Python
  3. Импорт модуля из другого каталога
  4. Комментарии в Python
  5. Получение текущей даты и времени
  6. Метод join() для объединения строк
  7. Установка пакетов с помощью pip
  8. Удаление элемента по индексу
  9. PrettyTable: создание таблицы
  10. Оптимизация строк в Python
  11. Конвертация изображений в PDF
  12. Метод rename() для переименования файлов и каталогов
  13. Извлечение статей с newspaper3k
  14. Работа с изображениями PIL
  15. Генераторы в Python
  16. Оператор объединения словарей
  17. Создание инструмента обнаружения плагиата
  18. Обработка ошибок в JSON данных
  19. Тестирование функции сложения
  20. Многострочные комментарии в Python
  21. Группировка элементов Python
  22. Работа с enumerate()
  23. inspect в Python: анализ кода
  24. Глобальные переменные в Python
  25. Имена объектов в Python
  26. Математические функции в Python
  27. Использование модуля __future__
  28. ROT13 Шифр Цезаря в Python
  29. Лямбда-функции в Python
  30. Оптимизация параметров в Python
  31. Удаление файлов с shutil.os.remove()
  32. Игра «Виселица» на Python
  33. Работа со случайными элементами
  34. Оптимизация памяти с __slots__
  35. Вакансии в Nebius
  36. Срез списка в Python
  37. Метод repr() в Python
  38. Декораторы в Python
  39. Управление памятью в Python
  40. Скрытие вывода данных
  41. Python enumerate() для работы с индексами
  42. Создание OrderedDict
  43. Создание объекта времени
  44. Python Ellipsis использование
  45. Проверка типа данных
  46. Измерение времени выполнения кода
  47. Создание даты из строки ISO
  48. Работа с изменяемыми коллекциями

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