1
どのようにクラスメソッドをオーバーロードできますか?トレースバックだったPythonクラスのメソッドオーバーロード
class D(object):
def create(self):
foo = 100
bar = 'squirrels'
baz = 'I have %d insane %s in my head.' % (foo, bar)
return baz
class C(D):
def create(self):
super(C, self).create()
baz = 'I have %s cute %s in my yard.' % (self.foo, self.bar)
C().create()
:あなたは、変数foo
は、その関数のローカル変数であることを意味しself
、上の変数を設定しない
AttributeError: 'C' object has no attribute 'foo'
'create()'は 'D' respを返しません。 'C'オブジェクトですが、文字列です。だから '__init__'はおそらくどこかにつながっていないでしょう... – glglgl
@glglglあなたは正しいです、答えは編集されました。 –