Курс 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. Создание панели меню Tkinter
  2. Создание объекта timedelta
  3. Создание инструмента обнаружения плагиата
  4. Проверка подстроки в строке
  5. Работа со словарями
  6. Функция product() из itertools
  7. Основы работы с базами данных в Python
  8. Сортировка с помощью key
  9. Разделение строки с помощью re.split()
  10. Перегрузка операторов в Python
  11. Создание и обучение модели с Keras
  12. Python itertools combinations() — группировка элементов
  13. Создание копии итератора
  14. Генерация чисел с range()
  15. Печать комбинаций в Python с Itertools
  16. Объединение словарей в Python 3.5+
  17. Big O оптимизация
  18. Работа с CSV файлами в Python
  19. Ускорение обработки данных с %autoawait
  20. Python reversed() функция
  21. Экспорт данных в файл.
  22. Получение идентификатора объекта в памяти
  23. Генерация UUID в Python
  24. Создание списков в Python
  25. Поиск простых чисел
  26. JSON-esque в Python
  27. Руководство по использованию Colorama
  28. Динамические маршруты во Flask
  29. Вакансии в Nebius
  30. Атрибуты класса и экземпляра
  31. Python Метод sleep() времени
  32. Управление контекстом с помощью декоратора contextmanager
  33. Подсчет элементов в Python
  34. Применение функции к элементам списка
  35. Очистка данных с Pandas
  36. Частичное применение функций в Python
  37. Асинхронное программирование с asyncio
  38. Логические операторы в Python
  39. Класс UserDict: дополнительная функциональность
  40. Запуск внешних программ с subprocess
  41. Оператор (*) в Python
  42. Поиск с библиотекой Google
  43. Вложенные циклы в Python
  44. Запуск Python из интерпретатора
  45. Поиск кода
  46. 9 уловок для чистого кода
  47. Документирование функций в Python
  48. Отображение HTML кода в Python

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