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