Оценка булевых выражений в Python

пигменты имеют подсветку синтаксиса для разности (и для большого количества других языков) и могут использоваться в качестве библиотеки или программы командной строки. Это - вид вещи, которую Вы ищете? Если не разъясните вопрос...

11
задан Community 23 May 2017 в 12:26
поделиться

2 ответа

Любой объект можно проверить на истинность значение, для использования в if или while условие или как операнд логического операции ниже. Следующие значения считаются ложными:

  • Нет

  • Ложь

  • ноль любого числового типа, например, 0 , 0L , 0,0 , 0j .

  • любая пустая последовательность, например '' , () , [].

  • любое пустое отображение, например {} .

  • экземпляров определяемых пользователем классов, если класс определяет метод __ nonzero __ () или __ len __ () , когда этот метод возвращает целое число ноль или логическое значение False .

Все остальные значения считаются истинными. - поэтому объекты многих типов всегда верны. Операции и встроенные функции, которые имеют логический результат, всегда возвращают 0 или False для false и 1 или True для true, если не указано иное. (Важное исключение: логические операции «или» и «и» всегда возвращают один из своих операндов.)

https://docs.python.org/2/library/stdtypes.html#truth-value-testing

] И, как уже упоминалось, вы можете заменить пользовательские объекты, изменив ненулевое значение.

20
ответ дан 3 December 2019 в 03:04
поделиться

Обновление : Удалена вся повторяющаяся информация с постом Медера

Для пользовательских объектов в Python <3.0 __ ненулевое значение __ , чтобы изменить способ его оценки. В Python 3.0 это __ bool __ ( Ссылка от e-satis)

Важно понимать, что подразумевается под оценкой. Одно из значений - это когда объект явно приводится к типу bool или неявно приводится по его положению (в цикле if или while).

Другой - == evalutation. 1 == True, 0 == False, ничто другое не равно через ==.

>>> None==False
False
>>> 1==True
True
>>> 0==False
True
>>> 2==False
False
>>> 2==True
False

Наконец, for is, только True или False сами по себе.

9
ответ дан 3 December 2019 в 03:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: