2015-06-30 14 views
5

Perché sono in grado di assegnare la parola chiave Python True alla parola chiave Python False utilizzando Python 2.7.9?Perché posso assegnare True = False (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 
>>> 

Ma quando si passa sopra a Python 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

Hai provato Googling qualcosa come "pitone vero falso assegnare alla parola chiave" ? – TigerhawkT3

+0

È come assegnare "max" a "100" o "input" a "Hello". –

+1

Sono l'unico a leggere questa domanda e ho immediatamente pensato "Immagino che l'abbiano cambiato in una parola chiave, fantastico"? In pratica tutte le risposte si limitano a ripetere la domanda e aggiungere "sì, questo si verifica". – TigerhawkT3

risposta

9

Vero e Falso erano comandi incorporati in Python 2, ma in Python 3 sono parole chiave, quindi il messaggio di errore. A rigor di termini, non li stai assegnando ma li stai seguendo, cosa che non puoi fare con una parola chiave.

2

In Python 3.x, True e False sono reserved words

+2

Loro lo sanno, lo hanno indicato nel loro secondo esempio. Rileggere la domanda – CoryKramer

+1

@CoryKramer, scusa se la mia risposta non è stata chiara. Puoi farlo in python 2.x perché True e False non sono [parole riservate] (https://docs.python.org/2.5/ref/keywords.html). – James

2

Perché in Python 3.X è una parola chiave, e in 2.7.X è una variabile (come True=4869 lavora troppo, così come False=[4,8,6,9])

Problemi correlati