yield 空是什么用法?
資深大佬 : shyrock 1
关于 yield 的使用,网上能搜到的都是生成器的用法,都以 yield n 的形式返回一个值。 但是我在 odoo 中看到一段代码:
@classmethod @contextmanager def manage(cls): """ Context manager for a set of environments. """ if hasattr(cls._local, 'environments'): yield else: try: cls._local.environments = Environments() yield finally: release_local(cls._local)
调用语法:
with odoo.api.Environment.manage(): with registry.cursor() as cr: odoo.tools.trans_export(config["language"], config["translate_modules"] or ["all"], buf, fileformat, cr)
有大佬能指点一下这个 yield 什么用处吗?
大佬有話說 (1)