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 맞습니다. 편집 답변. –