Курс 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. Lambda Functions in Python
  3. Скачать видео с YouTube
  4. Конкатенация строк с помощью join()
  5. Многострочные комментарии в Python
  6. Экспорт данных в файл.
  7. Отладчик pdb: начало работы
  8. Итерация по итерируемым объектам
  9. Метод gt в Python
  10. Python groupby() из itertools: работа с повторяющимися элементами
  11. Принципы Zen Python
  12. Python: возвращение нескольких значений
  13. Функция enumerate в Python
  14. Особенности множеств в Python
  15. Преобразование символов в нижний регистр
  16. Генерация UUID в Python
  17. Лямбда-функции в цикле
  18. Форматирование строк в Python
  19. Переопределение метода divmod
  20. Модуль pprint
  21. Retrying в Python: повторные вызовы
  22. Измерение времени выполнения кода с использованием time
  23. Подписка на каналы разработчиков
  24. Руководство по Pymorphy2
  25. Генерация QR-кодов с Python
  26. Операции с числами в Python
  27. Сортировка списка по индексам
  28. Рациональные числа в Python
  29. Работа со строками в Python
  30. Проблема с изменяемыми аргументами
  31. Поиск с библиотекой Google
  32. Работа с модулем glob в Python
  33. Python Enumerate
  34. Создание и использование ChainMap
  35. Многострочные строки в Python
  36. Наследование в программировании
  37. CSV строка разделение в Python
  38. Присоединение элементов коллекции
  39. Работа с многоуровневыми словарями в Python
  40. Метод join() для объединения элементов строки
  41. Именованные кортежи в Python
  42. Аннотации типов в Python
  43. Установка Python3.7 и PIP
  44. Python: изменяемые и неизменяемые коллекции
  45. Разработка Telegram-ботов
  46. Сортировка элементов в Python
  47. Оператор is в Python

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