189 8069 5689

Python中input()和raw_input()有哪些区别

这篇文章主要介绍了Python中input()和raw_input()有哪些区别,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

专注于为中小企业提供成都网站设计、网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业菏泽免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

两者均是python的内置函数,通过读取控制台的输入与用户实现交互

raw_input:将所有输入作为字符串看待,不管用户输入什么类型的都会转变成字符串。 

                  raw的含义就是: 生的;未加工的。

>>> s1=raw_input() abc >>> s1 'abc' >>> s2=raw_input() 'abc' >>> s2 "'abc'" >>> s3=raw_input() 100 >>> s3 '100' >>> s4=raw_input() 1+2 >>> s4 '1+2'

当希望通过raw_input获取一个整型或者浮点数时,必须在生成后对其使用int或float进行转换。

>>> x1=int(raw_input()) 34 >>> x1 34 >>> x2=float(raw_input()) 1.25 >>> x2 1.25

input():当输入一个字符串的时候必须使用引号将其括起来,否则他将会引发一个SyntaxError的问题。

>>> help(input) Help on built-in function input in module __builtin__: input(...)    input([prompt]) -> value        Equivalent to eval(raw_input(prompt)).

从上述说明中,可以发现其实input()的实现是调用raw_input()函数的,然后再进行了一次eval()。

实现如下:

def input(prompt):     return (eval(raw_input(prompt)))  #input()相当于eval(raw_input())

eval()在python中的实现如下:

eval(str[,globals[,locals]])函数将字符串str当成有效Python表达式来求值,并返回计算结果。

因此就不难发现为什么input()能够检测表达式了。

eval()函数十分强大,它和int(将一个字符串转化成整数)还是有很大区别,这里暂不详述。

综上所述:除非对input有特别需要,否则一般情况下我们都是推荐使用raw_input来与用户交互。

补充:在Python 3.x之后已经用input()替代raw_input了,用法功能却跟Python2.x中的raw_input()一样。

感谢你能够认真阅读完这篇文章,希望小编分享Python中input()和raw_input()有哪些区别内容对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,遇到问题就找创新互联,详细的解决方法等着你来学习!


分享名称:Python中input()和raw_input()有哪些区别
文章URL:http://cdxtjz.cn/article/jigcpe.html

其他资讯