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