为了账号安全,请及时绑定邮箱和手机立即绑定

如何将func_closure条目映射到变量名?

如何将func_closure条目映射到变量名?

慕侠2389804 2021-03-28 11:07:53
我有一个在此函数中创建的lambda对象:def add_url_rule(self, rule, endpoint=None, view_func=None, **options):    self.record(lambda s:        s.add_url_rule(rule, endpoint, view_func, **options))使用func_closurelambda函数对象,我可以访问lambda函数的闭包范围:(<cell at 0x3eb89f0: str object at 0x2fb4378>, <cell at 0x3eb8a28: function object at 0x3cb3a28>, <cell at 0x3eb8a60: str object at 0x3ebd090>, <cell at 0x3eb8b08: dict object at 0x3016ec0>)仔细观察(查看cell_contents每个cell对象的属性)可以看到:>>> [c.cell_contents for c in func.func_closure]['categoryDisplay', <function indico.web.flask.util.RHCategoryDisplay>, '/<categId>/', {}]该lambda函数是通过以下调用创建的:add_url_rule('/<categId>/', 'categoryDisplay', rh_as_view(RHCategoryDisplay))如您所见,该顺序与函数的参数顺序或在lambda中使用参数的顺序不匹配。尽管我可以根据其类型/内容轻松地确定哪个元素是什么,但我想以一种更简洁的方式进行操作。所以我的问题是:如何将其与它们的原始变量名关联(或者至少在函数参数的情况下为位置)?
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 140 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信