Python2中的input()、raw_input()函数:html
input()函数让咱们明确输入的是数字格式仍是字符格式,就是咱们本身要知道咱们想要的是什么:数字格式直接输入;字符格式必须加上单引号或者双引号,以肯定咱们输入的是字符串,不然它会引起一个 SyntaxError 。
raw_input()函数不管用户输入什么,都默认为字符格式。
除非对 input() 有特别须要,不然通常状况下咱们都是推荐使用 raw_input() 来与用户交互。
当输入为纯数字时:
input返回的是数值类型,如int,float
raw_inpout返回的是字符串类型,string类型
当输入为
字符串表达式时:
input会计算在字符串中的数字表达式,而raw_input不会。此时用
input貌似更有优点。
如输入“57 + 3”:
input会获得整数60
raw_input会获得字符串”57 + 3”
示例:
input()
Enter your input: [x*5 for x in range(2,10,2)]
Received input is : [10, 20, 30, 40]
raw_input()
Enter your input: [x*5 for x in range(2,10,2)]
Received input is : [x*5 for x in range(2,10,2)]
看python input的文档,能够看到input实际上是经过raw_input来实现的,原理很简单,就下面一行代码:
def input(prompt):
return (eval_r(raw_input(prompt)))
eval能够暂时理解为去掉引号的做用。
Python3中的input()函数:
在Python3中是没有raw_input()函数的,只有input()函数,由于Python3进行了优化整合:在Python3中是将Python2中的input()删除了,把raw_input()的名称改为了input()函数。
因此
python3 里 input() 函数接收任意输入,将全部输入默认为字符串处理,并返回字符串类型。
这样在咱们使用数字的时候就须要本身来进行转换了,因此咱们在让用户输入数字的时候必定切忌要进行
类型转换,若是咱们要使用数字的话。a=int(input("Enter your input: ")) 查看type(a)是否等于int。