以下を明確にするための努力に感謝します:Pythonで、複数のクラスが宣言されているクラスごとに1つのオブジェクトを動的に作成する方法はありますか? 私のばかげた推測は、次のように説明できます。
...
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"
目標は非常に単純です。できればテーブルに格納されているプロパティを使用して、いくつかのクラスのオブジェクトを作成しますが、同時に、クラスごとに異なる特定のメソッドが実装されるすべてのクライアントのクラス宣言を行います。うまく機能し、Factory メソッドの Python バージョンを使用する最初のスクリプトは、(クライアント ID であるコマンドライン引数に基づいて) 一度に 1 つのクラス (クライアント) しか処理できないため、十分ではありません。