Битовые операции над числами, но они обрабатывают их, как если бы они были строкой битов, записанных в двоичном формате.
a & b
Оператор &
возвращает 1, когда соответствующие биты a и b равны 1. В противном случае возвращается 0.
Если вы используете оператор && логический , он будет работать так, как вы хотите:
i = 2
if i < 3 && i > 1:
print('Works!')