В настоящее время я преподаю первый курс студентам в университете, и я был удивлен, узнав, что, казалось бы, безобидная функция input, которую некоторые из моих учеников решили использовать (и были смущены странным поведением), скрывал вызов на eval за ним.
Итак, мой вопрос: почему функция input вызывает eval, и что бы это было полезно для этого, было бы безопаснее делать с raw_input? Я понимаю, что это было изменено в Python 3, но в первую очередь это кажется необычным дизайнерским решением.