このチュートリアルに従って、Python で抽象基本クラスを使用しようとしています。そこで、次の 2 つのファイルを作成しました。
base.py :
import abc
class PluginBase(object):
__metaclass__ = abc.ABCMeta
@abc.abstractmethod
def load(self, input):
return
とimplementation.py :
import abc
from basis import PluginBase
class SubclassImplementation(PluginBase):
def load(self, input):
print input
return input
if __name__ == '__main__':
print 'Subclass:', issubclass(SubclassImplementation, PluginBase)
print 'Instance:', isinstance(SubclassImplementation(), PluginBase)
実行中は問題なく動作しますが、別のモジュールとしてpython implementation.py
使用したいと考えています。implementation.py
だから私はコマンドラインに入り、次のようにします:
>>> from implementation import SubclassImplementation as imp
>>> imp.load('lala')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: unbound method load() must be called with SubclassImplementation instance as first argument (got str instance instead)
>>>
ここで何が間違っていますか?どうすればこれを機能させることができますか? すべてのヒントは大歓迎です!