Модули и функции · встроенный MicroPython FEMM 5
ucontextlib
Генераторные менеджеры контекста с гарантированным finally.
ucontextlib.contextmanagerucontextlib.ContextDecoratorucontextlib.contextmanagerКод до yield готовит ресурс, yield возвращает значение with, finally освобождает ресурс.
ucontextlib.contextmanager
contextmanager(func)Код до yield готовит ресурс, yield возвращает значение with, finally освобождает ресурс.
Аргументы
| Имя | Назначение и допустимые значения |
|---|---|
func | Генераторная функция ровно с одним yield. |
Возвращаемое значение
Декорированная фабрика менеджера контекста.
Пример
"Пример ucontextlib.contextmanager.\nСреда: встроенный MicroPython FEMM 5.\nКод до yield готовит ресурс, yield возвращает значение with, finally освобождает ресурс.\nРезультат: Декорированная фабрика менеджера контекста."
import ucontextlib
events=[]
@ucontextlib.contextmanager
def state():
events.append('open')
try:
yield 100
finally:
events.append('close')
with state() as n:
assert n == 100
assert events == ['open','close']
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
ucontextlib.ContextDecoratorБаза для собственных контекстов: подкласс должен определить __enter__ и __exit__.
ucontextlib.ContextDecorator
ContextDecorator()База для собственных контекстов: подкласс должен определить __enter__ и __exit__.
Аргументы
Аргументы не требуются.
Возвращаемое значение
Базовый объект менеджера/декоратора.
Пример
"Пример ucontextlib.ContextDecorator.\nСреда: встроенный MicroPython FEMM 5.\nБаза для собственных контекстов: подкласс должен определить __enter__ и __exit__.\nРезультат: Базовый объект менеджера/декоратора."
import ucontextlib
class Quiet(ucontextlib.ContextDecorator):
def __enter__(self):
return self
def __exit__(self,*args):
return False
with Quiet():
assert 2+2 == 4
Ожидаемый результат. Проверки assert проходят без исключения.
Скачать пример · Ссылка на функцию
Этот пример выполнен в установленном FEMM 5.
Имена в установленной сборке
Перечень получен во встроенном интерпретаторе. Он включает функции, классы и константы. Ссылки ведут к контрактам; для прямого доступа ulab учитывайте условия этого раздела.