web-dev-qa-db-ja.com

Pythonのisinstance()の否定形

Pythonのisinstance()の否定形をどのように使用しますか?

通常、否定は次のように機能します

x != 1

if x not in y

if not a

Isinstance()の例を見たことがないので、isinstance()で否定を使用する正しい方法があるかどうかを知りたいです。

19
mrl

notを使用してください。 isinstanceboolを返します。これは他のnotと同じです。

23
Silas Ray

奇妙に思えるかもしれませんが、

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

isinstance関数はブール値を返します。これは、それを否定できる(またはorandなどの他の論理演算を実行できる)ことを意味します。

例:

>>> a="str"
>>> isinstance(a, str)
True
>>> not isinstance(a, str)
False
9
Igor Chubin

notを使用するだけです。たとえば、

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

isinstance が返す「真理値」(つまりブール値)を単に否定しています。

4
Levon