[英]instance(object, type) returns True, should it not be False?
我在Python中認為:
所有類最終都是對象的子類
所有類都是類型的實例
但是在檢查isinstance(object,type)
,它按預期返回True
。 對象是類型的實例。
但是我不確定為什么isinstance(type,object)
返回True
。 (我認為這將是False
因為type不是object的實例)。
特別是因為isinstance(type,type)
是True
即它是它自己的一個實例。
並且issubclass(object,type)
返回False
,這是預期的,但上面的結果isinstance(type,object)
讓我懷疑我是否正確理解了這些關系。
是因為isinstance跨子類工作,但類型不?
是因為isinstance跨子類工作,但類型不?
究竟。 type(x)
給出了x的實際類型,而isinstance(x, t)
檢查x
的類型是t
還是 t
的子類 。 因此,即使type(x) == t
不能, isinstance(x, t)
為True
。
特別是, object
是所有其他類繼承的基類,因此type
,即type(type)
,也是object
的子類, isinstance(type, object)
為true。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.