python2中的输入函数:
1.input() #如果输入是一个数学计算式,会自动执行计算得出结果,并且会自动识别出输入的类型(str,int,float)
2.raw_input() #完全默认为str类型
python3中的输入函数
1.input() #完全默认为str类型
首先说一下python2中input()和python3中input()的区别:
python2:
区别1:input()函数会默认执行输入的表达式,如果你输入的是一个数学计算式的话,输入得到的就是一个结果,而不是一个字符串
比如:
Python 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC 4.8.5 20150623 (Red Hat 4.8.5-11)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> str=input() 3+2 >>> str 5 >>>
输入3+2字符串,输出的str是一个5
因为python2中会默认的执行这个表达式。
所以一般采用raw_input()就不会出现这个问题
>>> b=raw_input() 3+2 >>> b '3+2' >>>
区别2:python2会自动识别类型,比如str,int,float,而python3中只会默认为str类型
[root@iz4my821dmhjx7z Test]# more type.py
a=input("input a number:")
print(a)
print(type(a))
python2 type.py //会识别出输入的是int类型
[root@iz4my821dmhjx7z Test]# python2 type.py
input a number:123
123
<type 'int'>
[root@iz4my821dmhjx7z Test]#
python3 type.py //默认输入的都是str类型
[root@iz4my821dmhjx7z Test]# python3 type.py
input a number:123
123
<class 'str'>
[root@iz4my821dmhjx7z Test]#