1

基本クラスが dict などの python 組み込み型から派生するインターフェイスを構築したいと思います。そのためにabc、標準ライブラリの python を使用しますが、次のテストを実行すると、具体的なクラスの実装で欠落しているメソッドに対して例外が発生しません。

import abc

class Base(dict):

    __metaclass__ = abc.ABCMeta

    @abc.abstractmethod
    def toto(self):
        pass

class Concrete(Base):
    pass

if __name__ == "__main__":
    c = Concrete()

classがではなくBaseから派生する場合、期待されるメカニズムが機能します。この動作の理由について何か考えはありますか? それは期待されるものですか?もしそうなら、これを回避する方法は?objectdictabc

4

0 に答える 0