Wie funktioniert "ist" in Python?

8

Kann jemand bitte erklären, wie man "ist" in einem "wenn" Zustand verwenden kann. Ich arbeite mit dem Bruchmodul und habe einige Probleme:

%Vor%

Das Einzige, was ich gefunden habe, ist:

%Vor%

Gibt es eine Möglichkeit, "ist" hier zu verwenden? Danke.

    
milcak 04.06.2011, 08:37
quelle

5 Antworten

5

is prüft auf Objektidentität. Es gibt True zurück, wenn zwei Namen auf dasselbe Objekt verweisen. Ein typischer Anwendungsfall ist es, zu überprüfen, ob sich ein Name auf None bezieht:

%Vor%     
Björn Pollex 04.06.2011, 08:39
quelle
7

Der Operator is in Python wird verwendet, um zu prüfen, ob zwei Variablen auf das gleiche Objekt zeigen und nicht zur Überprüfung der numerischen Gleichheit gedacht sind. Sie sollten stattdessen == dafür verwenden.

Denken Sie zum Beispiel daran

%Vor%

gibt False zurück.

    
6502 04.06.2011 08:41
quelle
7

Von die Dokumentation :

  

Die Operatoren is und is not testen auf Objektidentität: x is y ist wahr, wenn und nur wenn x und y das gleiche Objekt sind. x is not y liefert den inversen Wahrheitswert.

Was Sie hier haben wollen, ist == , um zu testen, ob zwei Objekte gleich oder gleichwertig sind. Vergleich der Werte und nicht der Identitäten.

Ein triviales Beispiel (in CPython , das sich in anderen Implementierungen unterscheiden kann):

%Vor%     
Johnsyweb 04.06.2011 08:40
quelle
2

a is b entspricht id(a) == id(b)

    
saeedgnu 04.06.2011 09:38
quelle
0

Zitat aus Ссылка :

  

operator.is_ (a, b) Rückgabe a ist b.   Testet die Identität des Objekts.

    
rzetterberg 04.06.2011 08:39
quelle

Tags und Links