Курс 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. Работа с функцией next() в Python
  2. Отношения подклассов в Python
  3. Добавление элементов в список: append() vs extend()
  4. Генераторные функции в Python
  5. Декоратор total_ordering для сравнения объектов
  6. Обновление шаблона base.html
  7. Операции с массивами в NumPy
  8. Преобразование вложенного списка
  9. Операторы Splat и splatty-splat
  10. Переменные в Python: сокращение гласных
  11. Генерация фальшивых данных с Faker
  12. Приближение чисел в Python
  13. Изменяемые и неизменяемые объекты
  14. Python: отсутствие точек с запятыми
  15. Подсказки типов в Python
  16. Извлечение аудио из видео
  17. Освобождение памяти в Python
  18. Методы и функции в Python
  19. Аннотации типов в Python
  20. Concrete Paths — метод .with_suffix()
  21. Множества и frozenset
  22. CSV строка разделение в Python
  23. Генераторы списков в Python
  24. Делегирование в Python
  25. Генераторы в Python
  26. Метод rlshift для битового сдвига
  27. Операторы присваивания в Python
  28. Создание коллекций из генератора
  29. Контроль точности вывода чисел
  30. Работа с байтовыми строками в Python
  31. Работа с набором данных CIFAR10 в PyTorch
  32. Списки в Python: основы
  33. Удаление знаков препинания в Python
  34. Оператор in для Python
  35. Оператор обр. импликации
  36. Динамическая типизация в Python
  37. Проверка элементов списка условием
  38. Метод join() с набором
  39. Методы Python для работы с данными
  40. Копирование словарей и списков в Python
  41. Поиск с помощью регулярных выражений
  42. Разбиение текста в Python
  43. Получение текущей даты и времени
  44. Работа с JSON данными в Python
  45. Defaultdict в Python
  46. Обработка ошибок в Python

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