2015-06-30 5 views
5

Warum kann ich das Python-Schlüsselwort True dem Python-Schlüsselwort False mit Python 2.7.9 zuordnen?Warum kann ich True = False zuweisen (Python 2.7.9)

Python 2.7.9 (v2.7.9:648dcafa7e5f, Dec 10 2014, 10:10:46) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
>>> True 
True 
>>> True = False 
>>> True 
False 
>>> 

Aber wenn Python Umschaltung 3.4.3:

Python 3.4.3 (v3.4.3:9b73f1c3e601, Feb 23 2015, 02:52:03) 
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)] on darwin 
>>> True = False 
    File "<stdin>", line 1 
SyntaxError: can't assign to keyword 
>>> 
+0

Hast du so etwas wie "Python true false assign to keyword" versuchen googeln ? – TigerhawkT3

+0

Dies ist das gleiche wie die Zuweisung von 'max' zu' 100' oder 'input' zu' 'Hello''. –

+1

Bin ich der Einzige, der diese Frage gelesen hat und sofort dachte "Ich denke, sie haben es zu einem Schlüsselwort geändert, cool"? Alle Antworten wiederholen einfach die Frage und fügen "Ja, das kommt vor" hinzu. – TigerhawkT3

Antwort

9

Wahr und Falsch waren builtins in Python 2, aber in Python 3 sie sind Schlüsselwörter - also die Fehlermeldung. Genau genommen ordnen Sie ihnen nicht zu, sondern beschatten sie - was Sie mit einem Schlüsselwort nicht tun können.

2

In Python 3.x, True und False sind reserved words

+2

Sie wissen das, darauf haben sie in ihrem zweiten Beispiel hingewiesen. Lies die Frage erneut. – CoryKramer

+1

@CoryKramer, Entschuldigung, wenn meine Antwort nicht klar war. Sie können dies in Python 2.x tun, da True und False nicht [reservierte Wörter] sind (https://docs.python.org/2.5/ref/keywords.html). – James

2

Weil in Python 3.x ist es ein Schlüsselwort, und in 2.7.x ist es eine Variable (wie True=4869 auch funktioniert, sowie False=[4,8,6,9])

Verwandte Themen