クラスを入力として受け入れるORMを使用しており、動的に生成されたいくつかのクラスにフィードを提供する必要があります。現在、私はこの不自然な例のようなものをやっている:実行時にPythonクラスを作成する最も悪い方法は何ですか?
def make_cls(_param):
def Cls(object):
param = _param
return Cls
A, B = map(make_cls, ['A', 'B'])
print A().foo
print B().foo
これが正常に動作している間に、それは少しではオフに感じている:例えば、両方のクラスは、REPL上<class '__main__.Cls'>
として印刷します。名前の問題は大きな問題ではありませんが(私は__name__
に設定して回避することができます)、私が気づいていないことが他にもあるのだろうかと思います。 私の質問は:これは、クラスを動的に作成するための良い方法ですか?
可能な複製http://stackoverflow.com/questions/4513192/python-dynamic-class-names – Cez
以下のローマンノートでは、クラスを動的に作成するために 'type'を使いたいと思うでしょう。 [この質問](http://stackoverflow.com/questions/100003/what-is-a-metmetlass-in-python)の先頭の答えは非常に詳細でこれをカバーしています。 – aganders3
「ORM」?どのORM?オッズはORMがあなたのために大部分を占めています。 –