Python input和raw_input的区别

使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的

纯数字输入
当输入为纯数字时
input返回的是数值类型,如int,float
raw_inpout返回的是字符串类型,string类型

输入字符串为表达式
input会计算在字符串中的数字表达式,而raw_input不会。
如输入 “57 + 3”:
input会得到整数60
raw_input会得到字符串”57 + 3”

语法:input([prompt])
等价于:eval(raw_input(prompt))
我们知道eval函数是将字符串str当成有效Python表达式来求值,并返回计算结果。
input函数期望用户输入的是一个有效的表达式,也就是说,如果要输入字符串就必须要用引号括起来,否则它会引发一个 SyntaxError。它会根据输入内容的形式确定返回的形式。

>>> x=input()
"abc"
>>> x
'abc'
>>> 
>>> y=input("please input:")
please input:abc

Traceback (most recent call last):
  File "<pyshell#4>", line 1, in <module>
    y=input("please input:")
  File "<string>", line 1, in <module>
NameError: name 'abc' is not defined
>>> 
>>> z=input("please input:")
please input:3
>>> z
3
>>> 
>>> m=input("please input:")
please input:3+2
>>> m
5
>>> 

除非对 input有特别需要,否则一般情况下我们都是推荐使用 raw_input来与用户交互,这样能避免程序中出现一些不必要的麻烦。此时只需对其转换一下而已。

>>> x=int(raw_input("please input:"))  # 获取输入的整数
please input:100
>>> x
100
>>> type(x)
<type 'int'>
>>> 
>>> y=float(raw_input("please input:"))  # 获取输入的浮点数
please input:1.23
>>> y
1.23
>>> type(y)
<type 'float'>
>>> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值