Курс 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. Управление асинхронными задачами с помощью Semaphore
  2. Установка и загрузка Instaloader
  3. Оптимизация памяти в Python
  4. HTTP-запросы с библиотекой Requests
  5. Работа с Requests для HTTP-запросов
  6. Метод invert для побитового отрицания
  7. Мониторинг памяти с Pympler
  8. Проверка наличия элемента в списке
  9. Удаление и повторная вставка ключа в OrderedDict
  10. Синхронизация потоков с time.sleep()
  11. Подсчет часто встречающихся элементов
  12. Работа со строками
  13. Подсказки типов в Python
  14. Отправка HTTP-запросов с User-Agent
  15. Капитализация строк
  16. Проверка условий: all и any
  17. Преобразование чисел в восьмеричную строку
  18. Метод get для словарей
  19. Секреты Python
  20. Замена элементов в списке с помощью генераторов списков
  21. Непрерывная проверка в Python
  22. Оптимизация создания строк
  23. Замена атрибута в именованном кортеже
  24. Комплексные числа в Python
  25. Работа с JSON данными в Python
  26. Структурирование именованных констант
  27. Сравнение def и lambda-функций
  28. Сортировка с параметром key
  29. Настройка логгера Logzero
  30. Проверка вхождения подстроки
  31. Установка и использование pyshorteners
  32. Функции all и any в Python
  33. Возврат нескольких значений из функции
  34. Объединение словарей в Python
  35. Управление сессиями в Python
  36. Оператор in для Python
  37. Python и Монти Пайтон
  38. Обход элементов в Python
  39. Замена текста в Python
  40. Работа с прокси в Python
  41. Форматирование заголовков в Python
  42. Методы list в Python

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