gpt4 book ai didi

**kwargs 中的 Python 可调用参数

转载 作者:行者123 更新时间:2023-11-28 20:32:25 24 4
gpt4 key购买 nike


我有以下代码:

def aggregate(self, **kwargs):
for node in self:
for prop, val in kwargs.values():
set_val = val(node) if callable(val) else val
setattr(node, prop, set_val)
return self

当我尝试在 **kwargs 中设置一个可调用变量时,函数抛出此错误:

Message: TypeError("'function' object is not iterable",)

请帮忙。无法理解问题出在哪里
方法调用如下:obj.aggregate(my_key=_test) 其中 _test 是可调用的

最佳答案

您正在迭代 .values(),其中每个值都是一个项目,但您正在解包为两个名称,propval。当它有效地尝试分配 prop, val = _test 时会发生错误。

看起来您打算迭代 .items(),而不是 .values()。这样,prop 将是 "my_key",并且 val _test 符合预期。

关于**kwargs 中的 Python 可调用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52723254/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com