Курс 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. Область видимости переменных
  2. Переопределение метода __eq__
  3. Генерация случайных чисел в Python
  4. Безопасный доступ к значениям словаря
  5. Равенство и идентичность в Python
  6. Функция format() в Python
  7. Декораторы в Python
  8. Numpy: разбиение массивов
  9. Логический оператор «and» в Python
  10. Декоратор Ajax required
  11. Удаление элементов по срезу
  12. Фильтрация входных данных в Python
  13. Получение текущей даты и времени с помощью datetime
  14. Flask: создание веб-приложений
  15. Запуск асинхронной корутины
  16. Именованные срезы в Python
  17. Кортежи в Python: особенности и преимущества
  18. Удаление первого элемента списка
  19. Сортировка в Python
  20. Регулярные выражения: метод match
  21. Транспонирование матрицы
  22. Множества и frozenset
  23. Удаление файлов в Python
  24. Работа со случайными элементами
  25. Проверка окончания строки с помощью str.endswith()
  26. Установка Git и AWS CLI
  27. Операции с кортежами
  28. Функции any() и all() в Python
  29. Оформление кода по PEP 8
  30. Функции min(), max(), sum()
  31. Настройка вывода в Numpy
  32. Оператор space-invader
  33. Декораторы в Python
  34. Строки в Python: апострофы и кавычки
  35. Разделение строки с помощью split()
  36. Создание треугольника Паскаля
  37. Работа с YAML в Python: PyYAML.
  38. Создание GUI с Tkinter: Entry
  39. Оптимизация памяти с __slots__
  40. Извлечение чисел из текста
  41. Работа с базами данных SQLite
  42. Python: Splat-оператор и splatty-splat
  43. Работа с модулем bisect
  44. Измерение времени выполнения кода
  45. Переопределение метода sub
  46. Создание итератора
  47. Работа с PosixPath() в Python

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