FEMM 5

Модули и функции · встроенный MicroPython FEMM 5

functools

Свёртка последовательностей и частичное задание аргументов.

Условия работы

functools.partialФиксирует часть параметров, например коэффициент преобразования.

functools.partial

partial(func, *args, **kwargs)

Фиксирует часть параметров, например коэффициент преобразования.

Аргументы

Аргументы вызова functools.partial
ИмяНазначение и допустимые значения
funcВызываемая функция.
argsПервые позиционные аргументы.
kwargsЗаранее заданные именованные аргументы; при вызове их можно переопределить.

Возвращаемое значение

Новая вызываемая функция.

Пример

MicroPython FEMM 5
"Пример functools.partial.\nСреда: встроенный MicroPython FEMM 5.\nФиксирует часть параметров, например коэффициент преобразования.\nРезультат: Новая вызываемая функция."

import functools
scale = functools.partial(lambda k,x:k*x,1000)
assert scale(0.25) == 250

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

functools.reduceВыполняет последовательную свёртку; пустой вход без начального значения вызывает StopIteration.

functools.reduce

reduce(function, iterable, initializer=None)

Выполняет последовательную свёртку; пустой вход без начального значения вызывает StopIteration.

Аргументы

Аргументы вызова functools.reduce
ИмяНазначение и допустимые значения
functionФункция двух аргументов: накопитель и очередной элемент.
iterableПоследовательность обработки.
initializerНачальное значение; None использует первый элемент.

Возвращаемое значение

Последнее значение накопителя.

Пример

MicroPython FEMM 5
"Пример functools.reduce.\nСреда: встроенный MicroPython FEMM 5.\nВыполняет последовательную свёртку; пустой вход без начального значения вызывает StopIteration.\nРезультат: Последнее значение накопителя."

import functools
assert functools.reduce(lambda a,b:a+b,[1,2,3],0) == 6

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

functools.update_wrapperСохраняет синтаксис библиотек, использующих этот вызов, без переноса атрибутов.

functools.update_wrapper

update_wrapper(wrapper, wrapped, assigned=None, updated=None)

Сохраняет синтаксис библиотек, использующих этот вызов, без переноса атрибутов.

Аргументы

Аргументы вызова functools.update_wrapper
ИмяНазначение и допустимые значения
wrapperФункция обёртки.
wrappedИсходная функция; в этой реализации не используется.
assignedНе используется.
updatedНе используется.

Возвращаемое значение

Тот же wrapper.

Пример

MicroPython FEMM 5
"Пример functools.update_wrapper.\nСреда: встроенный MicroPython FEMM 5.\nСохраняет синтаксис библиотек, использующих этот вызов, без переноса атрибутов.\nРезультат: Тот же wrapper."

import functools
f = lambda x:x
assert functools.update_wrapper(f,abs) is f

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

functools.wrapsПозволяет использовать запись @wraps в сценарии.

functools.wraps

wraps(wrapped, assigned=None, updated=None)

Позволяет использовать запись @wraps в сценарии.

Аргументы

Аргументы вызова functools.wraps
ИмяНазначение и допустимые значения
wrappedИсходная функция, не используется.
assignedНе используется.
updatedНе используется.

Возвращаемое значение

Декоратор, возвращающий функцию без изменений.

Пример

MicroPython FEMM 5
"Пример functools.wraps.\nСреда: встроенный MicroPython FEMM 5.\nПозволяет использовать запись @wraps в сценарии.\nРезультат: Декоратор, возвращающий функцию без изменений."

import functools
@functools.wraps(abs)
def magnitude(x):
    return abs(x)
assert magnitude(-2) == 2

Ожидаемый результат. Проверки assert проходят без исключения.

Скачать пример · Ссылка на функцию

Этот пример выполнен в установленном FEMM 5.

Имена в установленной сборке

Перечень получен во встроенном интерпретаторе. Он включает функции, классы и константы. Ссылки ведут к контрактам; для прямого доступа ulab учитывайте условия этого раздела.