2011-04-14 54 views

回答

2
​​
0

不知道你的用例的,但檢查對一個類或類的實例是太完全不同的東西(而有不同的API方法:issubclass()與isinstance())。

所以你總是要檢查你的'item'是否是某個類的某個實例。

>

>> (1).__class__ 
<type 'int'> 
>>> (1).__class__.__class__ 
<type 'type'> 
0

,你可以調用issubclass()之前只需檢查:

import types 

def myissubclass (c, sc): 
    if type(c) != types.ClassType 
     return False 
    return issubclass (c, sc) 

,但我認爲這將是更Python擁抱例外:

def myissubclass (c, sc): 
    try: 
     return issubclass (c, sc) 
    except TypeError: 
     return False 
3

你似乎 想要實例:

>>> isinstance(1, str) 
False 
相關問題