零基础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"
相关文章
|
2月前
|
Python
在 Python 中,如何将日期时间类型转换为字符串?
在 Python 中,如何将日期时间类型转换为字符串?
128 64
|
3天前
|
JSON 监控 安全
深入理解 Python 的 eval() 函数与空全局字典 {}
`eval()` 函数在 Python 中能将字符串解析为代码并执行,但伴随安全风险,尤其在处理不受信任的输入时。传递空全局字典 {} 可限制其访问内置对象,但仍存隐患。建议通过限制函数和变量、使用沙箱环境、避免复杂表达式、验证输入等提高安全性。更推荐使用 `ast.literal_eval()`、自定义解析器或 JSON 解析等替代方案,以确保代码安全性和可靠性。
16 2
|
22天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
46 8
|
22天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
68 7
|
22天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
47 4
|
22天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
43 5
|
29天前
|
存储 测试技术 Python
Python 中别再用 ‘+‘ 拼接字符串了!
通过选择合适的字符串拼接方法,可以显著提升 Python 代码的效率和可读性。在实际开发中,根据具体需求和场景选择最佳的方法,避免不必要的性能损失。
44 5
|
1月前
|
Python
使用Python计算字符串的SHA-256散列值
使用Python计算字符串的SHA-256散列值
40 7
|
2月前
|
Python
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
在 Python 中,如何将字符串中的日期格式转换为日期时间类型?
41 6
|
2月前
|
Python
SciPy 教程 之 Scipy 显著性检验 9
SciPy 教程之 Scipy 显著性检验第9部分,介绍了显著性检验的基本概念、作用及原理,通过样本信息判断假设是否成立。着重讲解了使用scipy.stats模块进行显著性检验的方法,包括正态性检验中的偏度和峰度计算,以及如何利用normaltest()函数评估数据是否符合正态分布。示例代码展示了如何计算一组随机数的偏度和峰度。
34 1