gpt4 book ai didi

python - 类子类词典

转载 作者:行者123 更新时间:2023-11-28 23:05:41 25 4
gpt4 key购买 nike

有没有办法制作所有类继承的字典?

有点像

 class MagikClass :

pass

class A(MagikClass) :

__name__ = "A"

print magik_dict # -> { "A": A }

最佳答案

这是一个解决方案,它向每个类添加一个属性 _derived,包含该类的派生类:

class Meta(type):
def __new__(cls, name, bases, dict_):
new_class = type.__new__(cls, name, bases, dict_)
new_class._derived = {}
if isinstance(bases[0], Meta):
bases[0]._derived[name] = new_class
return new_class

class Magic(object):
__metaclass__ = Meta

class A(Magic):
pass

class B(Magic):
pass

print Magic._derived

打印

{'A': <class '__main__.A'>, 'B': <class '__main__.B'>}

关于python - 类子类词典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5791730/

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