python中input()与raw_input()的区别分析
我们来看input的源码 def input(prompt): 其实input也是调用了raw_input,只是做了eval处理 而eval有什么作用呢? input:会根据用户的输入来做类型的转换 下面是详细的补充: 首先,我们知道input()和raw_input()都是用来获取控制台的输入,当然输入的时候可以加上输入提示信息: 复制代码 代码如下: a = raw_input("Please input a:") b = input("Please input b:") 那么这两者有什么区别呢? input()支持用户输入数字或者表达式,不支持输入字符串,返回的是数字类型的数值。而raw_input()捕获的是最原始的输入,也就是说返回的是一个字符串,所以如果输入的是数字,那么我们必须要进行强制转换。例如: 复制代码 代码如下: a = int(raw_input("Please input the number a:")) 其实input()本质上还是使用raw_input()来实现的,只是调用完raw_input()之后再调用eval()函数,所以,除非对input()有特别需要,否则一般情况下我们都是推荐使用raw_input()来与用户交互。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |