区别一: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