In Python 2, raw_input() returns a string
But whereas input() tries to run the input as a Python expression. Since getting a string was almost always what you wanted, Python 3 does that with input() .
Note: input() is now raw_input() in python 3.x versions.
eval in python
Eval evaluates expressions. eval() , as the name suggests, evaluates the passed argument.
Example: Try eval(input()) and type “1+1” – this should print 2 .
Difference between expression and statement in python
Expression: Any value is an expression
Expressions are nothing but values, except they can have operations like addition or subtraction. eval evaluates the string as if it were a python expression.
3 + 5 map(lambda x: x*x, range(10)) [a.x for a in some_iterable] yield 7
Statement: Anything that does something is a statement. Any assignment to a variable or function call is a statement.
if x: do_y() return a = 7