Курс 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. Оптимизация памяти с __slots__
  2. Генераторы в Python
  3. Python enumerate() функции
  4. Асинхронное выполнение задач в процессах
  5. Символ подчеркивания в Python
  6. Генерация UUID в Python
  7. Разделение строки с помощью split()
  8. Базовые объекты Python
  9. Библиотека funcy: удобные утилиты
  10. Сумма элементов списка
  11. Форматирование вывода с F-строками
  12. Логические операторы в Python
  13. Удаление ресурса в Python
  14. Быстрый поиск кода
  15. Генераторы в Python
  16. Обработка ошибок в Python
  17. Модуль itertools: эффективная работа с итераторами
  18. Переименование файлов в Python
  19. Docstring в Python
  20. Удаление ссылок в Python
  21. Работа с timedelta
  22. Работа с необработанными строками
  23. Разница между датами
  24. Метод rmatmul для обратного матричного умножения
  25. Непрерывная проверка в Python
  26. Лямбда-функции для min/max
  27. Работа с множествами в Python
  28. Обход элементов в Python
  29. Удаление эмодзи с помощью pandas
  30. Нарезка списков в Python
  31. Создание словаря в Python
  32. Dict Comprehension в Python
  33. Метод __index__ в Python
  34. Python Enumerate
  35. Преобразование списка в словарь через генератор
  36. Поиск самого частого элемента
  37. Управление памятью в Python
  38. Извлечение данных из JSON
  39. Подсчет элементов в списке с Counter
  40. Протокол управления контекстом
  41. Декораторы с @wraps
  42. Оболочка Python
  43. Тест скорости набора текста на Python
  44. Добавление цвета в консоли
  45. Фильтрация списка от «ложных» значений
  46. Получение списка файлов в директории с использованием os

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