eval()函数的用法

1. eval()函数函数基本原理

eval(s)函数将去掉字符串s最外侧的引号,并按照Python语句方式执行去掉引号后的字符内容。

使用方式如下:

    <变量>=eval(<字符串>)
a = eval("1.2")
print(a)

输出结果:

1.2

犹如:

pybook = 123
a = eval("pybook")
print(a)

值得注意的是:

a = eval("pybook")
print(a)

将报错:

Traceback (most recent call last):
  File "8.2传递实参.py", line 73, in <module>
    a = eval("pybook")
  File "<string>", line 1, in <module>
NameError: name 'pybook' is not defined

因为去掉引号后的字符串pybook被python解释为一个变量,而在此之前并未定义过该变量,因此出现报错。
——解决的一个办法:
将a定义为:a = eval("‘pybook’"),即在双引号间插入单引号,使得python改变解释,将之解释为一段文本。
得到以下的输出:

pybook

2.eval()函数与input()函数的结合使用

使用方式:
<变量> = eval(input(<提示性文字>))

value = eval(input("请输入:"))
print(value * 2)

等价于

s =input("请输入:")
value = eval(s)
print(value * 2)

  • 20
    点赞
  • 127
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值