Python input和raw_input的区别

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

纯数字输入

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

输入字符串为表达式

input会计算在字符串中的数字表达式,而raw_input不会。 如输入 "57 + 3": input会得到整数60 raw_input会得到字符串"57 + 3" [attach]572[/attach] 输入字符串结果如下: [attach]573[/attach] 通过上面的实验我们知道input它会根据用户输入变换相应的类型,而且如果要输入字符和字符串的时候必须要用引号包起来,而raw_input则是不管用户输入什么类型的都会转变成字符型.

python input的实现

python input的文档,你可以发现input其实是通过raw_input来实现的,原理很简单,就下面一行代码:
def input(prompt):
    return (eval(raw_input(prompt)))

1 个评论

要回复文章请先登录注册