零基础Python教程035期 exec和eval字符串转python执行妙用

简介: 零基础Python教程035期 exec和eval字符串转python执行妙用

知识要点:



1、掌握随机数猜数字小游戏

2、掌握类random使用

3、掌握多条件判断,利用关键词and  与  or


一、exec函数试用



exec执行的格式:

exec(字符串)

exec执行后的字符串转为python语句执行以后,会记忆在内存中

举例执行代码:

>>> exec("a=10")

>>> a

10


利用这个功能可以做典型案例:gui的计算器


二、Python中的对象表示方法



使用英文状态下的大括号表示{  }

对象表示方法,是一个键值对的形式。

举例表示一个对象:

Person={“name”:”刘金玉”,sex:”男”}

对象结合exec函数进行传值的形式:

>>> exec("print('姓名:'+name+'性别:'+sex)",person)

姓名:老刘性别:男


三、参数释义



1.exec函数

exec两个参数

形式一:exec(字符串,起到局部保护作用的对象)

形式二:exec(字符串,给字符串中相同名称的变量传值的对象)

当命名空间冲突的时候,采用的解决方案

1)、使用完整命名空间的方式,例如

>>> random.randint(1,20)

19

2)、使用一个对象来进行命名空间的保护

>>> exec("x=randint(1,20)",s)


exec三参数传值

exec(字符串,起到局部保护作用的对象,给字符串中相同名称的变量传值的对象)

>>> t={"a":1,"b":3}

>>> exec("print(a+b)",s,t)

4


2.eval函数

这个函数的执行效果类似于exec函数

Eval函数会返回一个执行的结果,我们可以将执行的结果保存起来

>>> x=eval("1")

>>> x

1

>>> x=eval("a+b",s,t)

>>> x

4


案例编写:

输入代码,直接转为python进行运算,直到编程完毕,返回结果


四、总结强调



1、exec函数执行字符串转python

2、eval函数执行字符串转Python

3、exec和eval函数的异同点

4、对象的定义方法

5、exec函数和eval函数多参数的使用方法


本节知识源代码:

codesAll=""
print("您可以输入python代码,如果输入ljyok,表示输入完毕,开始执行")
while True:
    x=input("")
    if x=="ljyok":
        print("---------开始执行代码,并输出结果--------")
        exec(codesAll)
        break
    else:
        codesAll+=x+"\n"
相关文章
|
11天前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
22天前
|
IDE 测试技术 项目管理
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
PyCharm是由JetBrains开发的Python集成开发环境(IDE),专为Python开发者设计,支持Web开发、调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制等功能。它有专业版、教育版和社区版三个版本,其中社区版免费且适合个人和小型团队使用,包含基本的Python开发功能。安装PyCharm前需先安装Python解释器,并配置环境变量。通过简单的步骤即可在PyCharm中创建并运行Python项目,如输出“Hello World”。
197 13
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
|
3月前
|
Python
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
149 64
|
1月前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
45 2
|
1月前
|
存储 人工智能 Python
[oeasy]python061_如何接收输入_input函数_字符串_str_容器_ 输入输出
本文介绍了Python中如何使用`input()`函数接收用户输入。`input()`函数可以从标准输入流获取字符串,并将其赋值给变量。通过键盘输入的值可以实时赋予变量,实现动态输入。为了更好地理解其用法,文中通过实例演示了如何接收用户输入并存储在变量中,还介绍了`input()`函数的参数`prompt`,用于提供输入提示信息。最后总结了`input()`函数的核心功能及其应用场景。更多内容可参考蓝桥、GitHub和Gitee上的相关教程。
16 0
|
2月前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
87 8
|
2月前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
155 7
|
2月前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
57 4
|
2月前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
64 5
|
2月前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
62 5

热门文章

最新文章

推荐镜像

更多