gpt4 book ai didi

支持项分配的类中的 Python 静态字典

转载 作者:行者123 更新时间:2023-11-28 21:59:55 25 4
gpt4 key购买 nike

我有一个包含静态字典的类:

class MyClass:
my_dict = {}
def __init__(self, name):
self.name = name
MyClass.my_dict[self.name] = []
def __call__(self, data):
MyClass.my_dict[self.name].append(data)

每当我想更新字典时,我都必须使用 MyClass.my_dict[key],但我希望类本身支持项目分配,所以我可以只使用 MyClass [key] 做同样的事情。有没有办法做到这一点?我正在使用 Python 2.7。

最佳答案

所以,这就是我最终做的事情:

class MyClassType(type):
my_dict = {}
def __getitem__(cls, key):
return cls.my_dict[key]
def __setitem__(cls, key, value):
cls.my_dict[key] = value
def __str__(cls):
return cls.my_dict.__str__()
def iteritems(cls):
return cls.my_dict.iteritems()

class MyClass(object):
__metaclass__ = MyClassType
def __init__(self, name):
self.name = name
MyClass[self.name] = []
def __call__(self, data):
MyClass[self.name].append(data)

关于支持项分配的类中的 Python 静态字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15800770/

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