Если питон не приводит переменные к какому то общему типу, как он вообще их сравнивает? разве в этом случае не должна быть ошибка? к примеру "ошибка сравнения не сопоставимых типов"
Можно сравнить кошку с кошкой, но нельзя сравнить кошку со слоном. Надо или делать из кошки слона или, и кошу и слона приводить к классу животное.
Так и в питоне, строку со строкой сравнить можно, но если попытаться сравнить строку с булево, то строка приведется к булево, а уж потом будет сравнение.
У меня такая логика, но она явно не правильная, только я не знаю в каком именно месте.