print(0 and 5)
0.
  В Python, оператор and возвращает первый операнд, если он ложный, иначе возвращает второй операнд.  Поскольку 0 является ложным значением, он и возвращается.
Результатом выполнения кода print(0 and 5) будет 0.
В Python (и многих других языках) оператор and работает как логическое И.  Он возвращает первое значение, которое ложно, или последнее значение, если все значения истинны.
В данном случае:
0 интерпретируется как False.5 интерпретируется как True.Поскольку первое значение (0) ложно, оператор and сразу же возвращает это значение, не оценивая второе (5).
Поэтому в консоль будет выведено 0.