如今来探讨一下Python2中的input()、raw_input()函数和Pyhont3中的input()函数:python
Python2中的raw_input()函数,咱们知道input()、raw_input()都是让用户输入的函数:函数
input()函数:优化
首先,咱们先输入数字:code
>>> a = input("Please input your favorite number: ") Please input your favorite number: 5 >>> a 5
从中能够看出,当咱们输入数字的时候,input()函数直接接受了5,并把这个用户输入的数字赋给了a,是以数字形式的。字符串
接下来,咱们以字符形式输入:input
>>> a = input("Please input your name: ") Please input your name: virgin Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 1, in <module> NameError: name 'virgin' is not defined
从结果能够看出,提示咱们输入的名字没有定义,报错了,说明不能以字符形式直接没有引号的状况下进行输入;string
咱们验证当咱们以引号的方式输入字符串的时候,这个时候没有提示咱们错误,由此能够看出,是没有问题的it
>>> a = input("Please input your name: ") Please input your name: "Virgin" >>> a 'Virgin'
从中能够看出,其实Python2.x中,input()函数让咱们明确咱们输入的是数字格式仍是字符格式,就是咱们本身要知道咱们想要的是什么,数字格式直接输入,字符格式必须加上单引号或者双引号,以肯定咱们输入的是字符串。ast
raw_input()函数:class
>>> a = raw_input("Please input your name: ") Please input your name: Virgin >>> a 'Virgin' >>> a = raw_input("Please input your favorite number: ") Please input your favorite number: 10 >>> a '10'
第一次咱们输入的是字符串,并且没有加引号,正常把Virgin赋给了变量a;第二次输入的是数字10,可是输出的时候,a是字符格式的'10',这个时候系统将咱们输入的数字默认为了文本,因此能够看出,raw_input()函数不管用户输入什么,都默认为字符格式;而input()函数在Python2.x中,是要用户肯定本身输入的是什么,用户要本身清楚明白本身操控的是什么。
Python3中的input()函数:
咱们知道,在Python3中是没有raw_input()函数的,只有input()函数,由于Python3是就好了优化整合:
input()函数
>>> a = input("Please input your favoriete number: ") Please input your favoriete number: 10 >>> a '10' >>> b = input("Please input your name: ") Please input your name: Virgin >>> b 'Virgin'
第一次咱们输入的是数字,此时,input()是将数字10看成文本赋给了变量a,第二次,咱们把文本赋给了变量b,输出结果仍是文本,这与Python2中的raw_input()是同样的,因此,在Python3中是将Python2中的input()删除了,把raw_input()的名称改为了input()函数,这样在咱们使用数字的时候就须要本身来进行转换了,因此咱们在让用户输入数字的时候切记进行转换,若是咱们要使用数字的。