raw_input() vs input()

raw_input does no evaluation of what is typed, it just returns the string of characters that was entered, e.g.

.

input on the other hand evaluates what is typed as though it were a Python expression and returns the value of the expression, e.g.

.

As we progress we will come to prefer raw_input over input because we will pass the string raw_input returns to an object constructor to produce the type of object we need. At first though it is simpler to get started by using straight input.

In addition input poses a serious security risk because you are offering to evaluate whatever expression the user enters, i.e. you are offering to run whatever code the user provides on your computer. Let's hope the user isn't malicious!