使用input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的
当输入为纯数字时
-
input返回的是数值类型,如int,float
-
raw_inpout返回的是字符串类型,string类型
当输入为字符串表达式时
- input会计算在字符串中的数字表达式,而raw_input不会。
- 比如输入 “57 + 3”:
-
input会得到整数60
-
raw_input会得到字符串”57 + 3”
其原理如下:在python input 的文档中,input的定义是这样的:
<span class="kw1">def</span> <span class="kw2">input</span><span class="br0">(</span>prompt<span class="br0">)</span>:
<span class="kw1">return</span> <span class="br0">(</span><span class="kw2">eval</span><span class="br0">(</span><span class="kw2">raw_input</span><span class="br0">(</span>prompt<span class="br0">)</span><span class="br0">)</span><span class="br0">)</span>