これは、「python の abc モジュールを使用して抽象クラスを作成する」というこの質問に対する回答を参照したものです。(@alexvasselによって、回答として受け入れられました)。
提案を試してみましたが、不思議なことに、その方法を使用するための提案に従っているにもかかわらず、うまくいきabc
ません。したがって、ここに質問として投稿しています。
ここに私のPythonコードがあります:
from abc import ABCMeta, abstractmethod
class Abstract(object):
__metaclass__ = ABCMeta
@abstractmethod
def foo(self):
print("tst")
a = Abstract()
a.foo()
このモジュールを実行すると、コンソールに次のような出力が表示されます。
pydev debugger: starting (pid: 20388)
tst
その受け入れられた答えとは対照的に
>>> TypeError: Can not instantiate abstract class Abstract with abstract methods foo
それで、私は何を正しくまたは間違っていますか?なぜ機能し、失敗しないのですか?これについての専門家の洞察に感謝します。