在django.utils.functional.py中:
类型(res).mro()中的t的
:#<;——这
如果t在自动调度中:
返回自调度[t][funcname](res,*args,**kw)
我不明白mro()。它是做什么的,“mro”是什么意思
跟着…:
>&燃气轮机&燃气轮机;A类(对象):通过
...
&燃气轮机&燃气轮机&燃气轮机;A.。_umro__
(<;类“\uuu main\uuuu.A”>;,<;类型“对象”>;)
&燃气轮机&燃气轮机&燃气轮机;B(A)级:及格
...
&燃气轮机&燃气轮机&燃气轮机;B.。uu mro__
(<;class'\u main\u.B'>;,<;class'\u main\u.A'>;,<;type'object'>;)
&燃气轮机&燃气轮机&燃气轮机;丙(甲)级:及格
...
&燃气轮机&燃气轮机&燃气轮机;C._uMRO__
(<;class'\u main\u.C'>;,<;class'\u main\u.A'>;,<;type'object'>;)
&燃气轮机&燃气轮机&燃气轮机;
只要我们有单一继承,\uuuumro\uuuuu就是类、其基、其基的基等的元组,一直到对象(当然只适用于新样式的类)
现在,有了多重继承
>&燃气轮机&燃气轮机;D(B、C)级:及格
...
&燃气轮机&燃气轮机&燃气轮机;D.。uu mro__
(<;class'\uuu main\uuuu.D'>;、<;class'\uu main\uuuuu.B'>;、<;class'\uu main\uuuuuu.C'>;、<;class'\uu main\uuuuu.A'>;、<;type'object'>;)
…您还可以得到保证,在\uuuuMRO\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
在类实例上获得的每个属性,而不仅仅是方法,在概念上都是沿着\uuuu mro\uuuu查找的,因此,如果祖先中有多个类定义了该名称,这将告诉您在哪里可以找到该属性——在定义该名称的\uuu mro\uuu中的第一个类中