python2.x里面的input()和raw_input()函数以及3.x中的input()函数的区别

             在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()把任何用户输入都转换成字符串存储,在需要其它类型的数据时,调用相应的函数进行转换。


   最后,在学习过程中难免会有错误,希望大家多多请教。谢谢
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值