다중 인 오턴스에서 메서드 확인 순서를 이해하려고합니다. 다음은 내가 사용하고있는 코드입니다. 클래스 'ClassC'의 객체를 만들려고 할 때 ClassA의 생성자 만 호출됩니다.이 경우 어떻게 해결됩니까?Python에서 다중 상속의 메서드 확인
class ClassA:
def __init__(self):
print "inside a's init"
class ClassB:
def __init__(self):
print "inside b's init"
class ClassC(ClassA,ClassB):
pass
c = ClassC()
출력 :
inside a's init
파이썬 2에서는'class ClassA (object) :'와 같이 새로운 스타일의 클래스를 사용해야합니다 (파이썬 3에서는 모든 클래스가 새로운 스타일입니다). 그리고'ClassA'의'.__ init__' 메소드에'super (ClassA, self) .__ init __()'를 추가하십시오. ('ClassB'에 유사한 호출을 추가 할 수도 있지만'ClassB'가 상속 체인의 끝이기 때문에 필요 없습니다.) 파이썬 핵심 개발자 인 Raymond Hettinger가 연상 된 질문에서 답을 얻지 못하면 질문에 대한 답을 알려주십시오. –
그것은 @ PM2Ring에서 유용했습니다. 고마워요. – Heisenberg