Курс 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. Управление контекстом с помощью декоратора contextmanager
  2. Получение текущей даты в Python
  3. Комментарии в Python
  4. Избегайте использования goto
  5. Python Enum Weekday Usage
  6. Сортировка данных в Python
  7. Регистрация на TenChat
  8. Импорт модуля из другого каталога
  9. Работа с collections в Python.
  10. Преобразование строки в число
  11. Принципы Zen Python
  12. Настройка нарезки списков
  13. Мониторинг памяти с Pympler
  14. Документирование функций в Python
  15. Работа с модулем random
  16. Символ подчеркивания в Python
  17. Безопасные SQL-запросы в Python 3.11
  18. Множества и frozenset
  19. Модуль os в Python: работа с файлами
  20. Модуль xkcd: добавление юмора в Python
  21. Многострочные комментарии в Python
  22. Переопределение метода __rshift__
  23. Создание словаря через dict comprehension
  24. Замена подстроки
  25. Нахождение разницы между списками в Python
  26. Работа с множествами в Python
  27. Запуск файлового сервера
  28. Управление фоновыми задачами в Python
  29. Подписка на Kaspersky Team
  30. PrettyTable: создание таблицы
  31. Функция zip() в Python
  32. Подсчет элементов в Python
  33. Перевернуть список в Python
  34. Печать календаря в Python
  35. Работа с рекламными данными в Pandas
  36. Метод pos в Python
  37. Метод rrshift для пользовательских объектов
  38. Defaultdict в Python
  39. Howdoi — получение ответов из терминала
  40. Блок else в циклах Python
  41. Сортировка элементов с OrderedDict
  42. Метод __imod__ для Python
  43. Преобразование данных в Python
  44. Метод bool() в Python
  45. Обработка исключений с блоком else
  46. Лямбда-функции в Python
  47. Списковое включение в Python
  48. Обратное распространение ошибки

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