Курс 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. Декоратор total_ordering для сравнения объектов
  2. Хеширование паролей с солью
  3. Регистрация на TenChat
  4. Оператор «not» в Python
  5. Форматирование строк в Python.
  6. Лямбда-функции в Python
  7. Асинхронное выполнение задач в процессах
  8. Подсчет вхождений элементов
  9. Определение наиболее частого элемента с помощью collections.Counter
  10. Синхронизация потоков с time.sleep()
  11. Оформление кода на Python
  12. Solidity для DeFi Ethereum
  13. Работа с типами данных в Python с помощью pydantic.
  14. Установка и использование emoji
  15. ChainMap.new_child() — добавление нового словаря
  16. Тип CodeType в Python.
  17. Запрос DELETE с библиотекой requests
  18. Python Метод sleep() времени
  19. Работа с контекстным менеджером Pool
  20. Генерация строк с .join()
  21. Управление асинхронными задачами с помощью Semaphore
  22. Скачать видео с YouTube
  23. Оператор объединения словарей
  24. Проверка версии Python
  25. Метод rlshift для битового сдвига
  26. Документирование функций в Python
  27. Форматирование строк в Python
  28. Замыкания в Python
  29. Работа с датами в Python
  30. Показ всплывающих окон Tkinter
  31. Оператор is в Python
  32. Изменение элемента списка
  33. Пропуск строк в файле с itertools
  34. Метод join() для объединения строк
  35. Bootle — простой веб-фреймворк
  36. Операции со строками в Python
  37. Изменение объектов в Python
  38. Извлечение чисел из текста
  39. Создание спинбокса в tkinter
  40. Метод setdefault() в Python
  41. Создание новых списков в Python
  42. Каналы Senior: Python, Java, Frontend, SQL, C++
  43. Цикл for с enumerate() в Python
  44. Преобразование данных в Python
  45. Работа с географическими данными.
  46. Генераторы в Python
  47. Перевернуть список в Python

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