Ответ 1
True
, как и str
или любой другой встроенный, - это просто имя, которое существует в области по умолчанию. Вы можете перекрыть его, как любое другое такое имя.
Возможный дубликат:
Почему can not Python обрабатывает истинные/ложные значения, как я ожидаю?
Кажется, глупый вопрос, но почему следующее утверждение в Python явно запрещено?
>> True=False
>> True
False
Как True
и False
обрабатывается интерпретатором Python?
True
, как и str
или любой другой встроенный, - это просто имя, которое существует в области по умолчанию. Вы можете перекрыть его, как любое другое такое имя.
На самом деле у Python очень мало зарезервированных слов. Все остальное подлежит переопределению. Вы должны быть осторожны!
>>> True = False
False
В приведенном выше присваивании True
- это просто переменная, как и любая другая используемая вами переменная.
Его объем ограничен текущей областью. Таким образом, вы можете присвоить ему любые значения, как в приведенном ниже примере. Обратите внимание, что сравнение 2 < 3
все еще печатает True
, потому что у вас есть доступ к builtin
.
>>> True = 3
>>> True
3
>>> 2 < 3
True
Ввод
True = False
вы создаете новую переменную True, значение которой присваивается False.
Отвечая на ваш второй вопрос, True и False - это настроенные версии целых чисел 1 и 0 (технически говорящие, подклассы), которые имеют простое строковое представление.