Подтвердить что ты не робот

True = Ложное назначение в Python 2.x

Возможный дубликат:
Почему can not Python обрабатывает истинные/ложные значения, как я ожидаю?

Кажется, глупый вопрос, но почему следующее утверждение в Python явно запрещено?

>> True=False
>> True
False

Как True и False обрабатывается интерпретатором Python?

4b9b3361

Ответ 1

True, как и str или любой другой встроенный, - это просто имя, которое существует в области по умолчанию. Вы можете перекрыть его, как любое другое такое имя.

Ответ 2

На самом деле у Python очень мало зарезервированных слов. Все остальное подлежит переопределению. Вы должны быть осторожны!

Ответ 3

>>> True = False
False

В приведенном выше присваивании True - это просто переменная, как и любая другая используемая вами переменная. Его объем ограничен текущей областью. Таким образом, вы можете присвоить ему любые значения, как в приведенном ниже примере. Обратите внимание, что сравнение 2 < 3 все еще печатает True, потому что у вас есть доступ к builtin.

>>> True = 3
>>> True
3
>>> 2 < 3
True

Ответ 4

Ввод

True = False

вы создаете новую переменную True, значение которой присваивается False.

Отвечая на ваш второй вопрос, True и False - это настроенные версии целых чисел 1 и 0 (технически говорящие, подклассы), которые имеют простое строковое представление.