Python __mro__

Creator
Creator
Seonglae ChoSeonglae Cho
Created
Created
2021 Jul 23 8:16
Editor
Edited
Edited
2021 Jul 23 8:45
Refs
Refs

MRO(method resolution order)

메서드를 가져오는 순서는 __mro__에 따른다
 
 
메소드를 확인하는 순서
 
 
파이썬 2.3 이후 C3 알고리즘이 도입되어 지금까지 사용
단일상속 혹은 다중상속일 때 어떤 순서로 메서드에 접근할지는 해당 클래스의 __mro__에 저장되는데 왼쪽에 있을수록 우선순위가 높다
부모클래스는 반드시 자식클래스 이후에 위치
최상위 object 클래스까지 확인했는데도 적절한 메서드가 없으면 AttributeError를 발생
 
 
 

Recommendations