gpt4 book ai didi

python - 从列表创建多个类

转载 作者:太空宇宙 更新时间:2023-11-04 00:52:28 28 4
gpt4 key购买 nike

是否可以从一个列表中创建多个类,如下所示:

for cn in ['ABC', 'DEF', 'GHI']:
class {cn.capitalize()?}(Base):
__mapper_args__ = {
'polymorphic_identity': cn.lower(),
}

注意:在我发现的所有标题相似的问题中,提问者实际上想要从一个类中创建多个对象

最佳答案

您可以在运行时使用 type 创建新类:

In [17]: class_names = ['ABC', 'DEF', 'GHI']

In [18]: classes = {name: type(name.capitalize(), (Base,),
{'__mapper_args__': {'polymorphic_identity': name.lower()}})
for name in class_names}

In [19]: classes['DEF']
Out[19]: __main__.Def

In [20]: classes['ABC']().__mapper_args__
Out[20]: {'polymorphic_identity': 'abc'}

In [21]: import inspect

In [22]: inspect.getmro(classes['GHI'])
Out[22]: (__main__.Ghi, __main__.Base, object)

关于python - 从列表创建多个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36564004/

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