1

MRO은 클래스 계층 구조에서 속성이 발견되는 순서입니다.파이썬에서 mro와 super()를 이해하십시오

myInstance.foo에서와 같이 'foo'속성을 사용하면 MRO에있는 첫 번째 foo가 사용됩니다.
그리고 조회는 대개 중지됩니다.

이제 bar()가 super()을 사용한다고 가정합니다.
super()은 MRO에서 다음 기본 인스턴스를 반환하므로 myInstance.bar()는 해당 계층 체인의 모든 bar()를 호출합니다.

슈퍼 클래스의 bar()가 super(). bar()를 호출하는 경우 MRO가 지정하는대로
bar()가 순서대로 호출됩니다.

정확하게 이해하고 있습니까?

답변

0

넵. (super은 "MRO에서 다음 기본 인스턴스를 반환합니다"보다 약간 복잡하지만 반환 된 객체에서 어떤 속성 조회가 수행하는지 이해하면 그 점이 중요합니다.

관련 문제