2015-06-30 7 views
5

Dlaczego mogę przypisać słowo kluczowe Python True w taki sposób, aby był równy słowu kluczowemu Python False przy użyciu języka Python 2.7.9?Dlaczego można przypisać wartość 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 
>>> 

Ale po przełączeniu na 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

Próbowałaś Googling coś w stylu „True False pytona przywiąż do keyword” ? – TigerhawkT3

+0

To jest to samo, co przypisywanie 'max' do' 100' lub 'input' do' 'Hello''. –

+1

Czy jestem jedynym, który przeczytał to pytanie i od razu pomyślał: "Sądzę, że zmienili go na słowo kluczowe, fajne"? Wszystkie odpowiedzi w zasadzie po prostu powtórz pytanie i dodaj "tak, to się zdarza". – TigerhawkT3

Odpowiedz

9

prawda i fałsz były builtins w Pythonie 2, ale w Python 3 to słowa kluczowe - stąd komunikat o błędzie. Ściśle mówiąc, nie przypisujesz im cienia, ale nie możesz tego zrobić za pomocą słowa kluczowego.

2

w Pythonie 3.x, True i Falsereserved words

+2

Wiedzą o tym, wskazali to w swoim drugim przykładzie. Ponownie przeczytaj pytanie. – CoryKramer

+1

@CoryKramer, Przepraszam, jeśli moja odpowiedź nie była jasna. Możesz to zrobić w python 2.x, ponieważ True i False nie są [słowami zastrzeżonymi] (https://docs.python.org/2.5/ref/keywords.html). – James

2

Ponieważ w Pythona 3.X to słowo kluczowe, a w 2.7.X jest zmienna (jak True=4869 działa zbyt, jak również False=[4,8,6,9])

Powiązane problemy