¿Por qué una función importada "como" otro nombre mantiene su __name __ original?

Aquí

from os.path import exists as foo
print foo.__name__

obtenemos:'exists'. Por qué no'foo'? ¿Qué atributo daría'foo'?

Respuestas a la pregunta(3)

Su respuesta a la pregunta