我将感谢任何澄清以下内容的努力:Python中有没有一种方法可以为每个类动态创建一个对象,其中声明了几个类?我的愚蠢猜测可以描述如下:
...
假设我们有一些来自 db 的数据
props = dict_cur.fetchall()
classes_names = []
data = []
for i in props:
classes_names.append(i['client_name'].title())
classes = []
data = []
for i in props:
data.append(dict(i))
for i, d in zip(classes_names, data):
classes.append(type(i, (object,), dict(**d)))
print classes
#printing list of classes
objects = []
for obj in classes:
objects.append(obj())
for obj in objects:
print obj.client_name, obj.client_id
这是一种非常幼稚的方法,它永远不会以常规方式从创建的类中继承,就像这样:
class ClientProcess(Someclient): #Someclient is the name of the created class before
def __init__(self):
print "Someclient stuff"
目标非常简单:创建多个类的对象,最好使用存储在表中的属性,但同时为每个客户端声明类,这些客户端将实现特定的方法,从类到类。运行良好并使用 Python 版本的 Factory 方法的初始脚本是不够的,因为它一次只能处理一个类(客户端)(基于客户端 ID 的命令行参数)。