2024-03-28 18:30:42 发布
网友
class A : pass class B : pass class C(A) : pass class D(A,B) : pass class E(A) : pass class F(C,D) : pass class G(B) : pass class H(E,F,G) : pass
o=H(),我需要为H绘制完整的继承网络。此外,我还需要指出在它的所有类中搜索属性的顺序。你知道吗
下面是我画的图:
我不确定我的订单是否正确。有人能帮我修一下吗?你知道吗
type.mro()会给你下命令:
type.mro()
>>> type.mro(H) [__main__.H, __main__.E, __main__.F, __main__.C, __main__.D, __main__.A, __main__.G, __main__.B, object]
如您所见,您的编号有许多错误。 如果需要层次结构,则可以使用inspect:
inspect
>>> import inspect >>> inspect.getclasstree(inspect.getmro(H)) [(object, ()), [(__main__.A, (object,)), [(__main__.C, (__main__.A,)), [(__main__.F, (__main__.C, __main__.D)), [(__main__.H, (__main__.E, __main__.F, __main__.G))]], (__main__.D, (__main__.A, __main__.B)), [(__main__.F, (__main__.C, __main__.D)), [(__main__.H, (__main__.E, __main__.F, __main__.G))]], (__main__.E, (__main__.A,)), [(__main__.H, (__main__.E, __main__.F, __main__.G))]], (__main__.B, (object,)), [(__main__.D, (__main__.A, __main__.B)), [(__main__.F, (__main__.C, __main__.D)), [(__main__.H, (__main__.E, __main__.F, __main__.G))]], (__main__.G, (__main__.B,)), [(__main__.H, (__main__.E, __main__.F, __main__.G))]]]]
type.mro()
会给你下命令:如您所见,您的编号有许多错误。
如果需要层次结构,则可以使用
inspect
:相关问题 更多 >
编程相关推荐