파이썬[Python]: 내장함수 - __mro__ 변수

파이썬(Phthon): 내장함수 - __mro__ 변수(variable)


/// 설명

상위 클래스의 메서드를 탐색하는데 사용되어집니다.
상위 클래스에 같은 이름을 가진 메서드가 있을 경우 우선하여 시행하는 순서를 보여줍니다.
ex) (<class '__main__.D'>, <class '__main__.B'>, <class '__main__.A'>, <class 'object'>)
D -> B -> A -> object

※ 형식
__mro__

reference
https://docs.python.org/3/library/stdtypes.html#class.__mro__

/// 예제

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
class A(object):
    def a(self):
        print('test A')
 
 
print(A.__mro__)  # (<class '__main__.A'>, <class 'object'>)
 
 
class B(object):
    def a(self):
        print('test B')
 
 
print(B.__mro__)  # (<class '__main__.B'>, <class 'object'>)
 
 
class C(A, B):
    pass
 
 
print(C.__mro__)  # (<class '__main__.C'>, <class '__main__.A'>, <class '__main__.B'>, <class 'object'>)
C().a()  # test A
 
 
class D(B, A):
    pass
 
 
print(D.__mro__)  # (<class '__main__.D'>, <class '__main__.B'>, <class '__main__.A'>, <class 'object'>)
D().a()  # test B
 
cs

* 실행환경: Microsoft Windows 10 Homes
* 인터프리터: 파이썬(Python 3.9)


– 당신을 응원합니다. –

댓글

이 블로그의 인기 게시물

파이썬[Python]: 내장함수 - from_bytes 메서드

파이썬[Python]: 내장함수 - __len__ 메서드

파이썬[Python]: kivy - 한글 사용

파이썬[Python]: 내장함수 - bit_length 메서드

C 언어: sin 함수, cos 함수, tan 함수