Python では、現在、 などのクラスのインスタンスがありMyClass('name1')
ますMyClass('name2')
。
各インスタンスが独自のスーパークラスを持つようにしたい。つまり、のインスタンスになりMyClass('name1')
、 のインスタンスにName1MyClass
なりたい。のサブクラスが動的に生成されます。Python は常にそのクラスのインスタンスから返されるものを作成するように見えるため、これを行う方法がわかりません。メタクラスでそれを行う方法も明確ではありません。MyClass('name2')
Name2MyClass
Name1MyClass
Name2MyClass
MyClass
__new__
__doc__
これを行う理由は、インスタンスで docstringを定義したいからです。しかし、インスタンスをhelp
完全に無視しているようです。__doc__
クラスのみを調べます。したがって、各インスタンスに異なる docstring を配置するには、各インスタンスに独自のカスタム クラスを持たせる必要があります。