Я вижу только один контекст, в котором ваша проблема имеет смысл:
>>> False = True
>>> a = False
>>> b = False
>>> a | b
True
>>> a
True
>>> b
True
>>>
Чтобы начать отладку - каков результат print int(False)
?Если вышеперечисленное произошло, вы должны получить 1
.Попробуйте:
>>> False = bool(0)
>>> a = False
>>> b = False
>>> a | b
False
Насколько это произошло - может быть, кто-то разыграл вас и изменил значение False
(см. этот ответ )?Я действительно не могу думать ни о чем другом, что могло бы вызвать это.Вы всегда можете установить False
в bool(0)
в модулях, где вам это нужно, чтобы защититься от этого.
Или переключиться на Python 3, который делает True
и False
зарезервированные слова, которые не могутбыть изменены.