如何解决条件产量总是在函数注释中返回生成器
我具有函数批注,该函数批注适用于产生值的生成器和直接返回结果的非生成器。
我的问题是,在关闭连接之前,生成器必须处于yield状态,但是在关闭连接之后,必须返回非生成器结果。
此代码不起作用,因为它总是返回一个生成器:
def connect_to_server(func):
def wrapper(self,*args,**kwargs):
self.open_connection()
result = func(self,**kwargs)
if isinstance(result,types.GeneratorType):
yield from result
self.close_connection()
if not isinstance(result,types.GeneratorType):
return result
return wrapper
关于如何修复它的任何建议?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。