我只是經歷了一些Python的幫助文檔和整個下面的代碼段傳來:isinstance(對象類型)在python
isinstance(object,type)
誰能解釋這是什麼類型的上述聲明是什麼意思?
謝謝, Vineel
我只是經歷了一些Python的幫助文檔和整個下面的代碼段傳來:isinstance(對象類型)在python
isinstance(object,type)
誰能解釋這是什麼類型的上述聲明是什麼意思?
謝謝, Vineel
type
必須是一個對象表示一個類型/類別,如int
或str
。例如,isinstance(1, int)
評估爲True
,而isinstance(sys.stdin, str)
評估爲False
。如果您定義了class Foo
,那麼Foo
也是一個類型對象。
編輯:作爲@delnan筆記,type
本身也是Python中的類型,所以isinstance(str, type)
是正確的,因爲str
是一個類型,而isinstance('foo', type)
是假的。 object
也是Python中的一種類型,並且是類型層次結構的根。
@vineel:更新了答案。 –
thanQ ...它清除了我:) – vineel
該聲明檢查object
的類型是type
。 type
變量應該是一個類。如果對象參數是CLASSINFO參數的實例,或其(直接,間接或虛擬的)亞類的
isinstance(object, classinfo)
返回真。如果classinfo是一個類型對象(new-style class),並且object是該類型的對象或其(直接,間接或虛擬)子類的對象,則也會返回true。如果object不是給定類型的類實例或對象,則該函數始終返回false。如果classinfo既不是類對象也不是類型對象,則它可能是類或類型對象的元組,或者可能遞歸地包含其他這樣的元組(其他序列類型不被接受)。如果classinfo不是類,類型或者元組,類型和這樣的元組,則會引發TypeError異常。
在版本2.2中更改:添加了對類型信息元組的支持 。
是它的具體的代碼示例,以上僞代碼式的(例如,簽名)的一部分?或者更好的,展示上下文。這段代碼可悲的是對兩者都有意義。 – delnan
如有疑問請閱讀文檔 –