更新------------------Python3如何在對象中定義mro?
object
是type
一個實例,但在同一時間,object
也是基類的type
。而type
是object
的一個實例。我對此很困惑。這完全不合邏輯。爲什麼Python做到這一點?
>>> isinstance(object,type)
True
>>> isinstance(type,object)
True
>>> type.__bases__
(<class 'object'>,)
原始--------------------------------
我知道type
有mro
。但我不明白爲什麼mro
可以從object
調用。 python如何實現這個?
>>> object.mro()
[<class 'object'>]
>>> 'mro' in dir(object)
False
>>> 'mro' in object.__dict__
False
>>> 'mro' in dir(type)
True
>>> 'mro' in type.__dict__
True
>>> issubclass(type,object)
True
由於類屬性總是可以從一個實例訪問。 –
@Ignacio Vazquez-Abrams謝謝,但仍然令人困惑 – tcpiper
@ IgnacioVazquez-Abrams這不是整個故事,'type.mro!= object.mro'。 – augurar