35

我将如何使用 Python 的 isinstance() 的否定形式?

通常否定会起作用

x != 1

if x not in y

if not a

我只是没有看到 isinstance() 的示例,所以我想知道是否有正确的方法来使用 isinstance() 的否定。

4

3 回答 3

39

只需使用not. isinstance只返回 a bool,你可以not喜欢任何其他的。

于 2012-07-31T20:43:42.817 回答
22

这看起来很奇怪,但是:

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

isinstance函数返回一个布尔值。这意味着您可以否定它(或进行任何其他逻辑操作,如oror and)。

例子:

>>> a="str"
>>> isinstance(a, str)
True
>>> not isinstance(a, str)
False
于 2012-07-31T20:43:37.153 回答
6

只需使用not,例如,

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

您只是在否定isinstance返回的“真值”(即布尔值) 。

于 2012-07-31T20:43:44.263 回答