python2.x里面的input()和raw_input()函数以及3.x中的input()函数的区别
2015-03-19 23:11
961 查看
在python3.0及以上的版本中,raw_input()函数已经和我们说再见了,但是呢,input()函数则很好地替代了消失了的raw_input()函数。而且现在的input()函数所返回的值都是
字符串,所以对于要有int,float等类型的数值必须进行强制的类型转换。下面让我对3.0的input()函数做个小总结:
>>> str=input("abc: ")
abc: 15
>>> str
'15' (虽然输入的是15,但返回的是字符15有木有)
>>> str=input("abc: ")
abc: 3+4
>>> str
'3+4' (在python2.x中,这是要返回7,在最新的版本中,情况就不是这样啦)
>>> str=input("abc: ")
abc: "3"+"4"
>>> str
'"3"+"4"' (注意显示的还是字符串啊)
>>> str=input("abc: ")
abc: "abc"
>>> str
'"abc"' (还是字符串)
>>> str=input("abc: ")
abc: abc
>>> str
'abc' (这里要注意下,是字符串‘abc'哦,记住)
>>>
说完了3.x的input()函数,接下来就是说说2.x系列里面的raw_input()函数和input()函数啦。为什么呢?因为啊,虽然现在python3.x版本都出来了,而且和python2.x有不同,但
是呢,现在很多程序都是用python2.x编写的。虽然3.x一定是未来发展的主流。但是,了解多一点还是很好的:
input()函数:
>>> str=input("input :")
input :"abc"
>>>str
‘"abc"’
>>> str=input("input :")
input :4
>>> str
4
>>> str=input("input :")
input :3+4
>>> str
7
>>> str=input("input :")
input :"3"+"4"
>>> str
'34'
>>>
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
str=input("input :")
File "<string>", line 1, in <module>
NameError: name 'abc' is not defined
编译器会说这是名字错误,因为在python2.x看来,abc并不是字符串,也不是数值。所以编译器就会傲娇地说,不好意思,who are u?
下面来说说raw_input()函数
>>> str=raw_input("input :")
input :123
>>> str
'123'
>>> str=raw_input("input :")
input :abc
>>> str
'abc'
>>> str=raw_input("input :")
input :"abc"
>>> str
'"abc"'
>>> str=raw_input("input :")
input :1+2
>>> str
'1+2'
>>> str=raw_input("input :")
input :"a"+"b"
>>> str
'"a"+"b"'
>>>
这里返回的都是字符串,所以啊,python3.x里面的input()函数其实就是以前2.x里面的raw_input()函数。大家记住啦。
最后,我总结下python2.x里面的raw_input()函数和input()函数的区别:
input()函数:对于输入的是int,float等数值,输出的还是相对应的int,float值。对于输入的是字符串,输出的还是字符串(其实这也就是网上有人说的对于input()函数输入要符
合python规范)。而且对于输入的3+4之类,python()还会自动整合为7。
raw_input()把任何用户输入都转换成字符串存储,在需要其它类型的数据时,调用相应的函数进行转换。
最后,在学习过程中难免会有错误,希望大家多多请教。谢谢
字符串,所以对于要有int,float等类型的数值必须进行强制的类型转换。下面让我对3.0的input()函数做个小总结:
>>> str=input("abc: ")
abc: 15
>>> str
'15' (虽然输入的是15,但返回的是字符15有木有)
>>> str=input("abc: ")
abc: 3+4
>>> str
'3+4' (在python2.x中,这是要返回7,在最新的版本中,情况就不是这样啦)
>>> str=input("abc: ")
abc: "3"+"4"
>>> str
'"3"+"4"' (注意显示的还是字符串啊)
>>> str=input("abc: ")
abc: "abc"
>>> str
'"abc"' (还是字符串)
>>> str=input("abc: ")
abc: abc
>>> str
'abc' (这里要注意下,是字符串‘abc'哦,记住)
>>>
说完了3.x的input()函数,接下来就是说说2.x系列里面的raw_input()函数和input()函数啦。为什么呢?因为啊,虽然现在python3.x版本都出来了,而且和python2.x有不同,但
是呢,现在很多程序都是用python2.x编写的。虽然3.x一定是未来发展的主流。但是,了解多一点还是很好的:
input()函数:
>>> str=input("input :")
input :"abc"
>>>str
‘"abc"’
>>> str=input("input :")
input :4
>>> str
4
>>> str=input("input :")
input :3+4
>>> str
7
>>> str=input("input :")
input :"3"+"4"
>>> str
'34'
>>>
Traceback (most recent call last):
File "<pyshell#8>", line 1, in <module>
str=input("input :")
File "<string>", line 1, in <module>
NameError: name 'abc' is not defined
编译器会说这是名字错误,因为在python2.x看来,abc并不是字符串,也不是数值。所以编译器就会傲娇地说,不好意思,who are u?
下面来说说raw_input()函数
>>> str=raw_input("input :")
input :123
>>> str
'123'
>>> str=raw_input("input :")
input :abc
>>> str
'abc'
>>> str=raw_input("input :")
input :"abc"
>>> str
'"abc"'
>>> str=raw_input("input :")
input :1+2
>>> str
'1+2'
>>> str=raw_input("input :")
input :"a"+"b"
>>> str
'"a"+"b"'
>>>
这里返回的都是字符串,所以啊,python3.x里面的input()函数其实就是以前2.x里面的raw_input()函数。大家记住啦。
最后,我总结下python2.x里面的raw_input()函数和input()函数的区别:
input()函数:对于输入的是int,float等数值,输出的还是相对应的int,float值。对于输入的是字符串,输出的还是字符串(其实这也就是网上有人说的对于input()函数输入要符
合python规范)。而且对于输入的3+4之类,python()还会自动整合为7。
raw_input()把任何用户输入都转换成字符串存储,在需要其它类型的数据时,调用相应的函数进行转换。
最后,在学习过程中难免会有错误,希望大家多多请教。谢谢
相关文章推荐
- python2.x中raw_input()和python3.x中input()的区别
- python2.x和python3.x中raw_input( )和input( )区别
- python 2.x 3.x input函数的区别
- python中raw_input()以及input()函数的区别
- python2.x和python3.x中raw_input( )和input( )区别
- Python中内建函数input()与raw_input()函数的区别
- python学习浅谈(python2.x以及python3.x的区别、IDE)
- python2.x和python3.x中raw_input( )和input( )
- python input函数和raw_input函数的区别
- Python的输入和raw_input()内建函数等以及相关运算符
- Python中input()和raw_input()函数的区别
- Python输入函数:raw_input() 与 input() 的区别
- Python 中 input()用法 以及与raw_input() 的区别
- python 输入函数raw_input和input以及eval函数
- python 学习(一) 中文,字符串,以及input和raw_input区别
- Python中raw_input 和 input 区别,以及input使用
- python中的input函数和raw_input函数的区别
- Python 2.x与Python3.x中input的区别
- Python中input()函数与raw_input()函数的区别
- Python学习笔记(三)input和raw_input的区别