2012-07-31 64 views
8

如何使用Python的isinstance()的否定形式?Python中的isinstance()的負形式

通常否定將努力像

x != 1 

if x not in y 

if not a 

我只是還沒有見過isinstance(例子),所以我想知道是否有對使用isinstance否定()的正確道路。

+7

所以,你不是指'不是(isinstance(...)'? – jmetz 2012-07-31 20:43:25

+2

所以你需要學習如何爲每個python構造使用'not'? – JBernardo 2012-07-31 20:44:06

+2

經驗教訓ow .. – mrl 2012-07-31 20:52:28

回答

18

只需使用notisinstance只是返回一個bool,你可以像其他任何not

6

這似乎有點奇怪,但:

if not isinstance(...): 
    ... 

isinstance函數返回一個布爾值。這意味着您可以否定它(或進行任何其他邏輯操作,如orand)。

例子:

>>> a="str" 
>>> isinstance(a, str) 
True 
>>> not isinstance(a, str) 
False 
3

只需使用not,例如,

if not isinstance(someVariable, str): 
    .... 

你只是否定了 「真值」(即布爾)是isinstance正在恢復。