Курс Python → Создание новых функций через partial

Функция partial в Python из модуля functools позволяет создавать новые функции на основе уже существующих, фиксируя определенные аргументы. Это удобно, когда мы хотим создать функцию, которая является вариацией другой функции, но с некоторыми аргументами, которые уже заданы заранее.

Например, в предложенной инструкции мы используем функцию partial для создания двух новых функций double и triple на основе функции multiply. Мы фиксируем аргумент y на значениях 2 и 3 соответственно. Теперь новые функции могут быть вызваны с одним аргументом, в то время как фиксированный аргумент y уже задан.

from functools import partial

def multiply(x, y):
    return x * y

double = partial(multiply, y=2)
triple = partial(multiply, y=3)

print(double(5))  # Вывод: 10
print(triple(5))  # Вывод: 15

В данном примере мы используем функцию multiply, которая умножает два числа. Затем, с помощью partial, мы создаем новые функции double и triple, которые уже имеют фиксированное значение для аргумента y. При вызове этих новых функций с одним аргументом, они будут умножать его на соответствующее фиксированное значение, возвращая результат.

Использование функции partial позволяет нам более гибко управлять функциями и их аргументами, делая код более компактным и читаемым. Мы можем создавать новые функции на основе уже существующих, изменяя их поведение с помощью фиксированных значений аргументов и сохраняя при этом структуру и логику исходных функций.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Лямбда-функции в Python
  2. Работа с рекламными данными в Pandas
  3. Многострочные комментарии в Python
  4. Применение функции к списку
  5. Создание словарей и множеств в Python
  6. Асинхронное программирование с asyncio
  7. Упрощение работы с JSON-данными в Python
  8. Разница между датами
  9. Создание namedtuple из словаря
  10. Обработка исключений
  11. Именованные срезы в Python
  12. Переопределение метода __eq__
  13. Избегание изменяемых аргументов
  14. Проверка дублей в списке.
  15. Динамические маршруты во Flask
  16. Работа с argparse
  17. Определение индекса элемента списка
  18. Преобразование типов данных в set comprehension
  19. Создание GUI с Tkinter: Entry
  20. Установка и использование howdoi
  21. Python Менеджер контекста
  22. Оператор * в Python
  23. Измерение времени выполнения кода
  24. Создание списка через цикл
  25. Работа с множествами в Python
  26. Работа с f-строками 2.0
  27. Форматирование строк в Python
  28. Исключение NotImplementedError
  29. Оператор continue в Python
  30. Ограничение итераций в Python
  31. Лямбда-функции в Python
  32. Распаковка элементов последовательности
  33. Проверка памяти объекта
  34. Определение функций с необязательными аргументами
  35. Поток данных в Python
  36. Замена текста с помощью sub
  37. Курс по дообучению ChatGPT
  38. Создание объекта timedelta
  39. Декоратор total_ordering для класса Point
  40. Условные выражения в Python
  41. Обработка ошибок в Python
  42. Лямбда-функции в Python
  43. Списковое включение в Python
  44. Сравнение строк в Python
  45. Регистрация на TenChat
  46. Метод __irshift__ для Python

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