这个两个函数在python2.x中有如下区别,在python3中已经移除了raw_input()函数
两个函数都是读取用户输入,区别在于raw_input()函数是将用户输入全部当作字符串来处理,例子如下:
>>> name=raw_input("please input your name!")
please input your name!周杰伦
>>> age=raw_input("please input your age!")
please input your age!40
>>> name
'\xd6\xdc\xbd\xdc\xc2\xd7'
>>> age
'40'
可以看到我们直接输入的名字和年龄,输出时都是有单引号的,说明它们是被当作字符串保存起来的。
下面,我们换input()来看看会发生什么:
>>> name=input("please input your name:")
please input your name:周杰伦
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<string>", line 1
周杰伦
^
SyntaxError: invalid syntax
>>> name=input("please input your name:")
please input your name:'周杰伦'
>>> age=input("please input your age:")
please input your age:54
>>> age=input("please input your age:")
please input your age:'54'
>>> name
'\xd6\xdc\xbd\xdc\xc2\xd7'
>>> age
'54'
>>> age=input("please input your age:")
please input your age:54
>>> age
54
当我们像原先一样直接中文名字时,系统会报错。原因是适用input()函数时,系统接受输入字符串或者浮点、整型数字,并且需要强调的是,输入字符串时需要加上引号。下面的年龄输入我们分别输入了字符串和整型,结果都是可以接受的,但是当输出变量时则不同。
个人建议:尽量全使用raw_input()函数,一是符合人们输入习惯,二是处理变量时无需考虑多种情况。