✔️ ترتیب وضوح متد یا همان MRO
وقتی چندین کلاس والد داریم، پایتون برای پیدا کردن متدها و ویژگیها از MRO استفاده میکند. MRO با الگوریتم C3 Linearization تعیین میشود.
✔️ بررسی MRO:
با تابع
mro()یا
__mro__میتوان ترتیب را دید: print(D.mro()) # [<class 'main.D'>, <class 'main.B'>, <class 'main.C'>, <class 'main.A'>, <class 'object'>] ✔️ کاربردهای MRO 1. حل تعارض ارثبری چندگانه 2. تعیین ترتیب فراخوانی متدها در سوپرکلاسها (
super()) 3. اجتناب از مشکلات Diamond Problem در ارثبری. #MRO | @LearnPythonIcy