gpt4 book ai didi

python - 在运行时在 python 中创建对象

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:46 25 4
gpt4 key购买 nike

我如何在 Python 运行时创建对象实例?

假设我有 2 个类:

class MyClassA(object):
def __init__(self, prop):
self.prop = prop
self.name = "CLASS A"

def println(self):
print self.name


class MyClassB(object):
def __init__(self, prop):
self.prop = prop
self.name = "CLASS B"

def println(self):
print self.name

和一个字典

{('a': MyClassA), ('b': MyClassB)}

我如何创建我的两个类之一的动态实例,具体取决于我选择“a”还是“b”。

这样的:

somefunc(str):
if 'a': return new MyClassA
if 'b': return new MyClassB

在调用时获得“CLASS B”:somefunc('a').println

但以更优雅和动态的方式(比如我在运行时向字典添加更多类)

最佳答案

您可以创建一个调度程序,它是一个字典,其中包含您的键映射到类。

dispatch = {
"a": MyClassA,
"b": MyClassB,
}

instance = dispatch[which_one]() # Notice the second pair of parens here!

关于python - 在运行时在 python 中创建对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5852459/

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