Курс 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. Настройка вывода в Numpy
  2. Обновление и получение данных в SQLite
  3. Асинхронное программирование с asyncio
  4. Оператор is в Python
  5. Метод hash в Python
  6. Переменная с нижним подчеркиванием
  7. Python-dateutil — работа с датами
  8. Работа с часовыми поясами в Python.
  9. Удаление символа из строки
  10. Расчет времени выполнения
  11. Переменные класса и экземпляра
  12. Форматирование данных с pprint
  13. Функция с **kwargs в Python
  14. Синхронизация доступа к ресурсам
  15. Удаление дубликатов из списка
  16. Декоратор Property в Python
  17. Создание веб-приложения с Flask
  18. Открытие, чтение и закрытие файла
  19. Генераторы в Python
  20. Именованные срезы в Python
  21. Автоматизация действий с Pyautogui
  22. Заказ карты Тинькофф Black
  23. Просмотр атрибутов и методов класса
  24. Объединение словарей в Python
  25. Метод rlshift для битового сдвига
  26. Работа с модулем Calendar
  27. Подписка на Kaspersky Team
  28. Хеширование паролей с солью
  29. ROT13 Шифр Цезаря в Python
  30. Python enumerate() использование
  31. Python: Splat-оператор и splatty-splat
  32. Константы в модуле cmath
  33. Работа с getopt
  34. Операторы += в Python
  35. Проверка кортежей.
  36. Векторизация в Python с NumPy.
  37. Аргументы *args и **kwargs
  38. Метод rpow в Python
  39. Списковые включения в Python
  40. Упрощение условных выражений с тернарным оператором
  41. Обработка исключений
  42. Оператор «or» в Python
  43. Отслеживание выполнения программы с библиотекой tqdm
  44. Вставка переменных в шаблоны Flask
  45. Разделение строки на подстроки в Python
  46. Удаление знаков препинания в Python

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