Курс 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. Python reversed() функция
  2. Пересечение списков с использованием множеств
  3. Логирование с Loguru
  4. Сглаживание списка
  5. Прокачанный трейсинг ошибок
  6. Тестирование модели в PyTorch
  7. Основы Python за 14 дней
  8. Оператор in и not in в Python
  9. Метод __irshift__ для Python
  10. Получение обратного списка чисел
  11. ROT13 Шифр Цезаря в Python
  12. Форматирование вывода списков
  13. Срезы в Numpy
  14. Создание итератора
  15. Импорт модуля из другого каталога
  16. Передача параметров в Python
  17. Циклы в Python
  18. Обратный список чисел
  19. Метод rsub для пользовательских чисел
  20. Обработка исключений в Python
  21. Работа с GitHub в Telegram
  22. Эффективная конкатенация строк с использованием join()
  23. Ускорение обработки данных с %autoawait
  24. Оптимизация памяти с __slots__
  25. Метод add для класса Vector
  26. Комментарии в Python
  27. Модуль future Python
  28. Работа с функцией next() в Python
  29. Defaultdict в Python
  30. Извлечение новостей с newspaper3k
  31. Работа с базами данных SQLite
  32. Beautiful Soup — извлечение данных из HTML
  33. Наиболее частотные элементы с помощью Counter
  34. Перемешивание списка с shuffle()
  35. Идентификатор объекта в Python
  36. Установка и загрузка Instaloader
  37. Извлечение чисел из текста
  38. Заказ карты Тинькофф Black
  39. Тип CodeType в Python.
  40. Тестирование времени с Freezegun
  41. Работа с контекстными менеджерами
  42. Атрибуты массивов в Numpy
  43. Создание новых списков
  44. Работа с временем в Python
  45. Проверка кортежей.

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