여기에 대해서는 의심의 여지가 있습니다. 다음 스 니펫을 고려하십시오. OOP의 패러다임 (파이썬에서)
class A(object):
def check(self):
super(A, self).check()
print "inside a"
class B(object):
def check(self):
print "inside b"
class C(A, B):
pass
c = C()
c.setup()
지금 이것은 출력
inside b
inside a
제가 에 도달 A.setup() B.setup()가 호출되고 있음을 볼 PDB 통해 전달을 제공한다. 그러나 A로부터의 호출은 수퍼 클래스의 check 메소드에있다. 그것이 존재하지 않기 때문에 호출은 그 지점에서 B.check()로 이동합니다.
- 누군가 내부적으로 어떻게 작동하는지 설명하는 문서를 설명하거나 알려줄 수 있습니까? 나는 could'nt 무엇이라도 발견한다.
- 누군가 C++/Java에서 비슷한 구현을 보여줄 수 있습니까? 다른 언어와 비교해 보면 문제를 더 잘 이해할 수 있다고 생각합니다.
감사합니다.
귀중한 것을 위해 귀도는 그가 파이썬의 역사에 대해 조금 알려주는 블로그를 가지고 있습니다. 최근 기사에서 그는 방법 해결 순서에 대해 이야기합니다. http://python-history.blogspot.com/2010/06/method-resolution-order.html –