Python中input和raw_input的一点区别,pythonraw_input
Python中input和raw_input的一点区别,pythonraw_input
使用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的实现
看python input的文档,可以看到input其实是通过raw_input来实现的,原理很简单,就下面一行代码:
复制代码 代码如下:
def input(prompt):
return (eval(raw_input(prompt)))
你可以这么理解:
def input(prompt):
 return eval(raw_input(prompt))
也就是说调用eval函数来看输入是什么,实际上你甚至可以输入表达式,Python会计算表达式的值来返回。
如果是一行一行那种输出的话,倒是没问题。
如果是要在console上显示,要知道,那个弹出来的显示窗口一旦执行完了,就会自动消失的。你的第一句的确输出了 Hello world在窗口上,但是如果没有下一句,那个窗口会自动马上消失,你根本没法看见是不是有输出了。但是呢,如果有raw_input()那么这个窗口不会消失,因为代码没有执行完,这个raw_input()需要你在窗口上输入一些东西之后按回车才会执行完,如果执行完了,那么窗口也会消失。
其他各种语言也有类似的问题和解决方法的。
评论关闭