2012-07-31 80 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正在恢复。