1

Python では、現在、 などのクラスのインスタンスがありMyClass('name1')ますMyClass('name2')

各インスタンスが独自のスーパークラスを持つようにしたい。つまり、のインスタンスになりMyClass('name1')、 のインスタンスにName1MyClassなりたい。のサブクラスが動的に生成されます。Python は常にそのクラスのインスタンスから返されるものを作成するように見えるため、これを行う方法がわかりません。メタクラスでそれを行う方法も明確ではありません。MyClass('name2')Name2MyClassName1MyClassName2MyClassMyClass__new__

__doc__これを行う理由は、インスタンスで docstringを定義したいからです。しかし、インスタンスをhelp完全に無視しているようです。__doc__クラスのみを調べます。したがって、各インスタンスに異なる docstring を配置するには、各インスタンスに独自のカスタム クラスを持たせる必要があります。

4

1 に答える 1