Курс 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. Работа с YAML в Python
  2. Отладка производительности Python
  3. Извлечение аудио из видео
  4. Генерация случайных чисел в Python
  5. Solidity для DeFi Ethereum
  6. Установка и использование Logzero
  7. Поиск наиболее частого элемента в списке
  8. Функции any() и all() в Python
  9. Создание namedtuple списком полей
  10. Функция reduce() из модуля functools
  11. Создание спинбокса в tkinter
  12. Python Enum Weekday Usage
  13. Создание словаря через dict comprehension
  14. Управление контекстом с помощью декоратора contextmanager
  15. Модуль subprocess: запуск внешних команд
  16. Работа с итераторами через срезы
  17. Метод gt в Python
  18. Объединение словарей в Python 3.5+
  19. Вычисление фазы комплексного числа
  20. Работа с YAML в Python: PyYAML.
  21. Оператор Walrus в Python
  22. Проверка класса объекта
  23. Преобразование символов с помощью map
  24. Генерация строк с .join()
  25. Оператор walrus в Python
  26. Функция zip() в Python
  27. Печать календаря в Python
  28. Класс UserDict: дополнительная функциональность
  29. lru_cache оптимизация функций
  30. Декораторы в Python
  31. Получение текущего времени в Python
  32. Фильтрация входных данных в Python
  33. Работа с кортежами
  34. Форматирование строк в Python
  35. Преобразование PowerPoint в PDF.
  36. Операторы присваивания в Python
  37. Настройка логгера Logzero
  38. Профилирование данных с Pandas
  39. Работа с каталогами в Python
  40. Комментарии в Python
  41. Метод rxor для операции побитового исключающего «или»
  42. Классы данных в Python
  43. Изменение элемента списка
  44. Измерение времени выполнения кода

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