Python 使用yield关键字传递给嵌套函数的参数

Python 使用yield关键字传递给嵌套函数的参数,python,function,nested,arguments,yield,Python,Function,Nested,Arguments,Yield,下面的代码使用上下文管理器来确保始终执行“设置”和“关闭”代码。我不明白yield关键字在这里扮演什么角色,以及bar参数是如何声明的 @contextmanager def功能(foo): #摆设 def嵌套功能(条形图): #用酒吧做点什么 通过 尝试: 产量嵌套函数 最后: #停业 该函数将按如下方式调用 reporter = function(foo) reporter=函数(foo) 该函数将按如下方式调用 reporter = function(foo) 这不是真的。它是一个

下面的代码使用上下文管理器来确保始终执行“设置”和“关闭”代码。我不明白yield关键字在这里扮演什么角色,以及bar参数是如何声明的

@contextmanager
def功能(foo):
#摆设
def嵌套功能(条形图):
#用酒吧做点什么
通过
尝试:
产量嵌套函数
最后:
#停业
该函数将按如下方式调用

reporter = function(foo)
reporter=函数(foo)
该函数将按如下方式调用

reporter = function(foo)
这不是真的。它是一个上下文管理器,因此将用作:

以函数(foo=“foo”)作为报告者的
:
报告者(bar=“bar1”)
报告者(bar=“bar2”)

那么你知道什么是收益率以及如何使用吗?@Wonka我想我理解在for循环返回生成器的上下文中使用yield关键字。然而,我不理解它在这里的用途,它返回一个函数对象。因此,当你可以只使用一个返回时,你可能正在使用yield?我想我已经通过接触闭包的概念解决了我的问题,这解释了为什么没有传递任何参数。你看过文档了吗?