Более короткий способ определить декоратор по функции?Python

Программы на Python
Anonymous
Более короткий способ определить декоратор по функции?

Сообщение Anonymous »

При создании декоратора с помощью @contextlib.contextmanager() нам нужно написать

Код: Выделить всё

enter_action(...)
try:
yield ...
finally:
exit_action(...)
Это 3 строки только для (довольно неэстетичной) конструкции try/yield/finally.
Почему мы не можем вместо этого получить что-то вроде этого?
Это 3 строки только для конструкции try/yield/finally.
p>

Код: Выделить всё

enter_action(...)
with context_magic(...):  # equivalent to try/yield/finally
exit_action(...)
Возможно ли это технически?


Подробнее здесь: https://stackoverflow.com/questions/786 ... y-function

Вернуться в «Python»