シングルトンの基底クラスを持っていますが、別のクラスで継承する必要がありますが、エラーメッセージが表示されます TypeError:メタクラスベースを呼び出すときにエラーが発生しました function()コードでなければなりません。継承する方法Pythonでシングルトンを持つ基底クラス
誰か助けてもらえますか? 以下はサンプルコードです。
def singleton(cls):
instances = {}
def getinstance():
if cls not in instances:
instances[cls] = cls()
return instances[cls]
return getinstance
@singleton
class ClassOne(object):
def methodOne(self):
print "Method One"
def methodTwo(self):
print "Method Two"
class ClassTwo(ClassOne):
pass
私はあなたが設計上の問題を起こしたと思う...シングルトンとは、派生クラスを持っていれば、基本クラスの複数の(2)インスタンスを持つことになります。シングルトンが必要ですか? –
'' locals() 'はうまくいきませんか? – dsgdfg
必要はClassOneであり、ClassTwoはどちらもシングルトンですが、classOneはClassTwoの機能を持ち、サポートはほとんどないため、ClassTwoではなくclassOneメソッドを使用する必要があります。すべてoverこれらをchangingことmajor changeがhence私この@singleton like changesを作っinheritance – santosh