Skip to content

Python:MethodResolutionOrder

method resolution order (메서드 결정 순서)는 조회하는 동안 멤버를 검색하는 베이스 클래스들의 순서입니다.

2.3 릴리스부터 파이썬 인터프리터에 사용된 알고리즘의 상세한 내용은 The Python 2.3 Method Resolution Order를 보면 됩니다.

확인 방법

MRO는 __mro__라는 클래스 속성을 통해 확인할 수 있습니다. 사족으로 이 속성은 튜플입니다.

print(Son.__mro__)

출력은:

(<class '__main__.Son'>, <class '__main__.Mother'>, 
<class '__main__.Father'>, <class '__main__.Human'>, 
<class 'object'>)

먼저 출력된 값일수록 우선순위가 높습니다.

위의 예제에서, Son -> Mother -> Father -> Human -> 그리고 최상위 부모인 object 클래스 순서로 우선순위를 가지는 것을 확인할 수 있습니다.

See also

Favorite site