0

このチュートリアルに従って、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)
>>>

ここで何が間違っていますか?どうすればこれを機能させることができますか? すべてのヒントは大歓迎です!

4

2 に答える 2