O que o Python retorna quando retornamos com o operador lógico?

Eu estava lendo o código de outra pessoa e ele tinha algo assim:

return val1 and val2 

Eu tentei isso no interpretador Python e ele me deu o último valor em AND, enquanto OR me dá o valor anterior.

Então, minha pergunta é o que exatamente está acontecendo nessa declaração?

Obrigado.