Eine Frage, über Identität und boolean in Python3

stimmen
0

Ich habe eine Frage zu Identität in Python, ich bin ein Anfänger in Python, und ich habe einige Kurse weiter lesen „ist“ Schlüsselwort und „ist nicht“. Und ich verstehe nicht, warum die Operation „Falsch ist nicht wahr wahr ist, ist nicht falsch nicht wahr ist“ gleich in Python falsch? Für mich ist diese Operation haben Getreu zurückzukehren.

Veröffentlicht am 09/10/2019 um 18:57
quelle vom benutzer
In anderen Sprachen...                            


4 antworten

stimmen
3

Python Ketten Vergleiche :

Wenn Formal a, b, c, …, y, zsind Ausdrücke und op1, op2, …, opNsind Vergleichsoperatoren, dann a op1 b op2 c ... y opN zentspricht a op1 b and b op2 c and ... y opN z, mit der Ausnahme , dass jeder Ausdruck höchstens einmal ausgewertet wird.

Ihr Ausdruck ist:

False is not True is not True is not False is not True

Welches wird:

(False is not True) and (True is not True) and (True is not False) and (False is not True)

Das ist äquivalent zu:

(True) and (False) and (True) and (True)

Welches ist False.

Beantwortet am 09/10/2019 um 19:19
quelle vom benutzer

stimmen
2

isbezieht sich auf Identität .

Wenn Sie fragen if x is y, sind Sie wirklich fragen sind xund ydas gleiche Objekt ? (Beachten Sie, dass dies eine andere Frage als zu tun xund yhaben den gleichen Wert? )

Ebenso , wenn Sie fragen if x is not y, fordern Sie wirklich sind xund yverschiedene Objekte?

Speziell in Bezug auf Trueund Falsebehandelt diejenigen Python als Singletons , was bedeutet , dass es immer nur eine ist FalseGegenstand in ein ganzes Programm. Immer , weisen Sie somnething zu False, das ist ein Verweis auf das einzig FalseObjekt, und so alle FalseObjekte haben die gleiche Identität .

Beantwortet am 09/10/2019 um 19:05
quelle vom benutzer

stimmen
0

Sie beschäftigen sich mit Logik. Es hilft über Wahr = 1 und Falsch = 0 zu denken.

Denken Sie an es auf diese Weise. 0 nicht 1 ist, dass True zurück, weil die Zahl 0 ist nicht die Nummer 1 und ist ein wahres statment. Dasselbe Konzept mit Wahr und Falsch

0 is not 1
#this will return False
False is not True
#the computer reads this in the exact same manner.
Beantwortet am 09/10/2019 um 19:00
quelle vom benutzer

stimmen
-1

Es hängt in der Reihenfolge pro Beispiel für die Ausführung dieser Linie, wenn wir Klammern einführen, um zwingen wir wahr zu bekommen.

(((False is not True) is not True) is not False) is not True
True

Aber Ihre Zeile Code entspricht:

  False is not (True is not True) is not False is not True
  False
Beantwortet am 09/10/2019 um 19:12
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more