2012-07-31 10 views
8

¿Cómo usaría una forma negativa de isinstance() de Python?Forma negativa de isinstance() en Python

Normalmente negación funcionaría algo así como

x != 1 

if x not in y 

if not a 

yo no he visto un ejemplo con isinstance(), así que me gustaría saber si hay una manera correcta de negación utilizado con isinstance().

+7

¿No quiere decir 'not isinstance (...)'? – jmetz

+2

, por lo que necesita aprender a usar 'no' para cada construcción de python? – JBernardo

+2

ow lección aprendida .. – mrl

Respuesta

18

Sólo tiene que utilizar not. isinstance acaba de devolver un bool, que puede not como cualquier otro.

6

que parecería extraño, pero:

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

La función isinstance devuelve un valor booleano. Eso significa que puede negarlo (o realizar cualquier otra operación lógica como or o and).

Ejemplo:

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

sólo tiene que utilizar not, por ejemplo,

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

Usted es simplemente la negación de la "valor de verdad" (es decir booleana) que isinstance está regresando.

Cuestiones relacionadas