¿Qué devuelve Python cuando regresamos con un operador lógico?

Estaba leyendo el código de otra persona y él tenía algo como esto:

return val1 and val2 

Intenté esto en el intérprete de Python y me dio el último valor en AND mientras que OR me da el valor anterior.

Entonces, mi pregunta es ¿qué está sucediendo exactamente en esa declaración?

Gracias.

Respuestas a la pregunta(2)

Su respuesta a la pregunta