gpt4 book ai didi

python - 通过**kw自定义字典

转载 作者:太空宇宙 更新时间:2023-11-03 13:23:44 25 4
gpt4 key购买 nike

我有一个使用 **kw 的库函数,但我想传递一个类似字典的类,这样我就可以覆盖 __getitem__ 来跟踪它的访问字典中的数据。例如,在下面的代码中调用 libfn 不会打印 Accessed 但 libfn2 会。

class Dtracker(dict):
def __init__(self):
dict.__init__(self)
def __getitem__(self,item):
print "Accessed %s" % str(item)
return dict.__getitem__(self, item)


def libfn(**kw):
a = kw["foo"]
print "a is %s" % a
return a

def libfn2(kw):
a = kw["foo"]
print "a is %s" % a
return a

d = Dtracker()
d["foo"] = "bar"
libfn(**d)
libfn2(d)

最佳答案

如果不更改 Python 本身,则不能。它在较低级别转换为 dict

关于python - 通过**kw自定义字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4835050/

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