簡體   English   中英

如果不是False,instance(object,type)返回True?

[英]instance(object, type) returns True, should it not be False?

我在Python中認為:

  • 所有類最終都是對象的子類

  • 所有類都是類型的實例

  • object是類型的實例,
  • 和type是object的子類。

但是在檢查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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM