区别一:raw_input和input都可以输入字符串,不同的是raw_input可以直接读取控制台的输入,而input必须用引号括起来,否则就会出现语法错误

>>> raw_input_str = raw_input("raw_input:")

raw_input:hello

>>> input_str = input("input:")

input:hello


Traceback (most recent call last):

  File "<pyshell#46>", line 1, in <module>

    input_str = input("input:")

  File "<string>", line 1, in <module>

NameError: name 'hello' is not defined

>>> input_str = input("input:")

input:"hello"


区别二:当输入数字类型数据时,raw_input()将所有的输入都作为字符串看待,返回字符串类型。而input()在对待纯数字输入时,返回所输入数字的类型(而且在输入数字的时候不用在输入数据上加引号)

        

>>> raw_input_num = raw_input("raw_input:")

raw_input:123

>>> type(raw_input_num)

<type 'str'>

>>> input_num = input("input:")

input:123

>>> type(input_num)

<type 'int'>

>>> input_num = input("input:")

input:123.45

>>> type(input_num)

<type 'float'>


参考自:http://www.cnblogs.com/way_testlife/archive/2011/03/29/1×××83.html