零基础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"
相关文章
|
5天前
|
存储 Python
SciPy 教程 之 SciPy 稀疏矩阵 4
SciPy 教程之 SciPy 稀疏矩阵 4:介绍稀疏矩阵的概念、类型及其在科学计算中的应用。SciPy 的 `scipy.sparse` 模块提供了处理稀疏矩阵的工具,重点讲解了 CSC 和 CSR 两种格式,并通过示例演示了如何创建和操作 CSR 矩阵。
25 3
|
1天前
|
Python
SciPy 教程 之 SciPy 图结构 7
《SciPy 教程 之 SciPy 图结构 7》介绍了 SciPy 中处理图结构的方法。图是由节点和边组成的集合,用于表示对象及其之间的关系。scipy.sparse.csgraph 模块提供了多种图处理功能,如 `breadth_first_order()` 方法可按广度优先顺序遍历图。示例代码展示了如何使用该方法从给定的邻接矩阵中获取广度优先遍历的顺序。
10 2
|
2天前
|
算法 Python
SciPy 教程 之 SciPy 图结构 5
SciPy 图结构教程,介绍图的基本概念和SciPy中处理图结构的模块scipy.sparse.csgraph。重点讲解贝尔曼-福特算法,用于求解任意两点间最短路径,支持有向图和负权边。通过示例演示如何使用bellman_ford()方法计算最短路径。
12 3
|
2天前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
9 1
|
6天前
|
存储 Python
SciPy 教程 之 SciPy 稀疏矩阵 2
SciPy教程之SciPy稀疏矩阵2:介绍稀疏矩阵的概念、应用场景及scipy.sparse模块的使用。重点讲解CSC和CSR两种稀疏矩阵类型及其常用方法,如data属性和count_nonzero()方法。
30 4
|
13天前
|
Python
SciPy 教程 之 SciPy 模块列表 7
`scipy.constants` 模块提供了常用的时间单位转换为秒数的功能。例如,`constants.hour` 返回 3600.0 秒,表示一小时的秒数。其他常用时间单位包括分钟、天、周、年和儒略年。
14 6
|
11天前
|
Python
SciPy 教程 之 SciPy 模块列表 13
SciPy教程之SciPy模块列表13:单位类型。常量模块包含多种单位,如公制、二进制(字节)、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例代码展示了如何使用`constants`模块获取零摄氏度对应的开尔文值(273.15)和华氏度与摄氏度的转换系数(0.5556)。
14 1
|
12天前
|
Python
SciPy 教程 之 SciPy 模块列表 9
SciPy教程之常量模块介绍,涵盖多种单位类型,如公制、质量、角度、时间、长度、压强等。示例展示了如何使用`scipy.constants`模块查询不同压强单位对应的帕斯卡值,包括atm、bar、torr、mmHg和psi。
11 1
|
12天前
|
Python
SciPy 教程 之 SciPy 模块列表 8
SciPy教程之常量模块单位类型介绍。该模块包含多种单位,如公制、质量、角度、时间、长度、压强、体积、速度、温度、能量、功率和力学单位。示例展示了部分长度单位的转换值,例如英寸、英尺、海里等。
13 1
|
3天前
|
算法 索引 Python
SciPy 教程 之 SciPy 图结构 3
SciPy 图结构教程:介绍图的基本概念、节点和边的定义,以及如何使用 SciPy 的 `scipy.sparse.csgraph` 模块处理图结构。重点讲解 Dijkstra 最短路径算法及其在 SciPy 中的应用,包括 `dijkstra()` 方法的参数设置和使用示例。
8 0