Python中eval()函数的详细使用教程
本文详细介绍Python中eval()函数的使用方法。eval()用于执行字符串表达式并返回结果,支持全局和局部命名空间参数。通过键盘输入还原数据、转换列表元组及计算表达式等实例,展示其将字符串转为对应数据类型的功能,并附带f-string格式化字符串的高级应用示例。
eval()函数
eval() 函数用于执行一个字符串形式的表达式,并返回该表达式的计算结果。
语法
eval(expression[, globals[, locals]])
expression – 表达式。
globals – 变量作用域,全局命名空间,如果被提供,则必须是一个字典对象。
locals–变量作用域,局部命名空间,如果被提供,可以是任何映射对象。返回值:返回表达式计算结果。
实例
在从键盘接收数据时,Python默认将其作为字符串类型处理。此时,我们可以使用eval()函数对输入的数据进行还原处理。
实例1
n = input()
m = eval(input())
# type()函数可以用来检测数据类型
print(type(n))
print(type(m))
#利用eval()将字符串类型转为整形
print(type(eval(n)))
输出结果:

使用eval()函数,将字符串还原为数字类型,其作用与int()函数类似。
实例2
# 输入[1,2,3,4]
m = input() # 得到一个字符串
n = eval(input()) # 得到一个列表
print(type(m))
print(type(n))
print(type(n[0]))输出结果

将输入的字符串转换为对应的数据类型,列表、元组等数据类型都可以使用这种方式输入。
实例3
# 表达式
s1 = '3*7'
s2 = 'pow(2,3)'
n = eval(s1)
m = eval(s2)
print(n, m)输出结果:

对表达式的结果进行计算,返回计算后的值。
附:使用例子
举一个代码随想录里一个解答的例子:
second_num = 1
item = +
first_num = 2
int(eval(f'{second_num} {item} {first_num}')) # 等价于本1 + 2
其中,格式化字符串常量(formatted string literals)是 Python 3.6 新引入的一种字符串格式化方法,主要目的是使格式化字符串的操作更加简便。
f-string在形式上是以 f 或者 F 修饰符引领的字符串(f’xxx’ 或 F’xxx’),以大括号 {} 标明被替代的字段。
另一个例子:
# 创建
my_dict = {'name':'Hider',
'age':'100'}
print(f"My name is {my_dict['name']}, I'm {my_dict['age']}.")
# My name is Hider, I'm 100.总结
到此这篇关于Python中eval()函数使用的文章就介绍到这了,更多相关Python eval()函数使用内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













