Python中eval()函数的详细使用教程

听雨眠
听雨眠
发布时间:2026-10-15| 5人浏览过
原创

本文详细介绍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()函数使用内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。