python内置函数--eval函数

最近在学习python的过程中,遇到了eval()函数,所以便查资料进行了细致了解,https://blog.csdn.net/qq_37089628/article/details/86664688这位大哥的博客介绍的非常明白,我看了之后才彻底理解,大家可以去看看。

eval()函数用来执行一个字符串表达式,并返回表达式的值,通俗地讲就是去掉参数最外层引号并执行语句。
注意:eval的参数必须是字符串,否则将会报错。

>>> eval("68+68")
136
>>> eval("print('hello world')")
hello world
>>> eval("'hello world'")
'hello world'

注意:内外引号必须不同,否则无法识别,程序报错

将一个元组加双引号,构成字符串,使用eval()函数可以将双引号去掉得到元组

>>> a="(1,2,3,'hello world')"
>>> b=eval(a)
>>> print(type(a),type(b),b)
<class 'str'> <class 'tuple'> (1, 2, 3, 'hello world')

同理,对列表、字典也有相同的作用。

列表

>>> a="['physics','chemistry',1997,2020]"
>>> b=eval(a)
>>> print(type(a),type(b),b)
<class 'str'> <class 'list'> ['physics', 'chemistry', 1997, 2020]

字典

>>> dict='{"name":"马云","address":"杭州"}'
>>> new_dict=eval(dict)
>>> print(type(dict),type(new_dict),new_dict)
<class 'str'> <class 'dict'> {'name': '马云', 'address': '杭州'}

此外,eval函数也可以直接用来提取用户输入的多个值。我们通过下面一个猜数值例子来对eval()的作用进行进一步学习。

guess=eval(input("请输出您所猜的数值:"))
if guess==68:
    print("您猜对了!")
else:
    print("您猜错了!")

#程序运行结果
请输出您所猜的数值:86
您猜错了!


请输出您所猜的数值:68
您猜对了!

对于上面这个 if else这个二分支结构,我们还可以采取如下这种更加紧凑的写法:
格式:<表达式1> if <条件> else <表达式2>

guess = eval(input("请输入您所猜的值:"))
print ("您猜{}了".format("对" if guess == 68 else "错"))

以上内容如有错误或不严谨之处,敬请批评指正!谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值