2012-07-31 5 views
8

Wie würde ich eine negative Form von Pythons isinstance() verwenden?Negative Form von isinstance() in Python

Normalerweise Negation habe ich so etwas wie

x != 1 

if x not in y 

if not a 

arbeitet gerade kein Beispiel mit isinstance() gesehen, so würde Ich mag wissen, ob es eine richtige Art und Weise ist Negation mit isinstance verwendet().

+7

Also meinst du nicht 'not isinstance (...)'? – jmetz

+2

Also müssen Sie lernen, 'not' für jede Python-Konstruktion zu verwenden? – JBernardo

+2

ow Lektion gelernt .. – mrl

Antwort

18

Nur not verwenden. isinstance gibt einfach eine bool zurück, die Sie wie jede andere not können.

6

Das seltsam scheinen, aber:

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

Die isinstance Funktion gibt einen Booleschen Wert. Das bedeutet, dass Sie es negieren können (oder andere logische Operationen wie or oder and vornehmen können).

Beispiel:

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

Verwenden Sie einfach not, zum Beispiel

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

Sie einfach die "Wahrheitswert" werden negiert (dh Boolean), dass isinstance zurückkehrt.