Python2中input()、raw_input()和Python3中input()

    听了ALEX的某节课,说input()和raw_input()函数在Python2中没有区别,如今来探讨一下Python2中的input()、raw_input()函数和Pyhont3中的input()函数:函数

    Python2中的raw_input()函数,咱们知道input()、raw_input()都是让用户输入的函数:优化

    input()函数:spa

    首先,咱们先输入数字:字符串

>>> a = input("Please input your favorite number: ")
Please input your favorite number: 5
>>> a
5
input

    从中能够看出,当咱们输入数字的时候,input()函数直接接受了5,并把这个用户输入的数字赋给了a,是以数字形式的。string

    接下来,咱们以字符形式输入:
>>> 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
it

    从结果能够看出,提示咱们输入的名字没有定义,报错了,说明不能以字符形式直接没有引号的状况下进行输入;ast

    咱们验证当咱们以引号的方式输入字符串的时候,这个时候没有提示咱们错误,由此能够看出,是没有问题的
>>> a = input("Please input your name: ")
Please input your name: "Virgin"
>>> a
'Virgin'
变量

    从中能够看出,其实Python2.x中,input()函数让咱们明确咱们输入的是数字格式仍是字符格式,就是咱们本身要知道咱们想要的是什么,数字格式直接输入,字符格式必须加上单引号或者双引号,以肯定咱们输入的是字符串。module

    raw_input()函数:

>>> 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()函数,这样在咱们使用数字的时候就须要本身来进行转换了,因此咱们在让用户输入数字的时候必定切忌要进行转换,若是咱们要使用数字的化。

相关文章
相关标签/搜索