É sempre útil usar a entrada do Python em raw_input?

Atualmente, ensino os estudantes universitários do primeiro ano em python, e fiquei surpreso ao saber que o aparentemente inócuoinput função @, que alguns de meus alunos decidiram usar (e estavam confusos com o comportamento estranho), estava ocultando uma chamada paraeval por trás disso.

Então, minha pergunta é: por que oinput chamada de funçãoeval, e o que isso seria útil para isso, não seria mais seguro fazer comraw_input? Entendo que isso foi alterado no Python 3, mas parece uma decisão incomum de design em primeiro luga

ocumentação da função de entrada Python 2.x

questionAnswers(4)

yourAnswerToTheQuestion