递归
通俗理解1:一个洋葱是带着一层洋葱皮的洋葱。
通俗理解2:当学习一个新知识点时,发现需要弄清另一个知识点,于是不断的去查询另一个知识点,最终从基础知识点盘到需要学习的知识点。可以理解成俄罗斯套娃。
代码理解:函数内部调用函数自身的函数。python示例:
"""递归"""
# 定义函数recursio,
def recursio2zero(n):
"""入传递进函数的参数值不断进行地板除(取整除),直到整除为0,函数结束"""
v = n // 2
print(v)
if v == 0:
return
v = recursio2zero(v)
recursio2zero(20)
返回结果:
D:\python_pycharm\venv\Scripts\python.exe C:/Users/Administrator/Desktop/django-project/mysite/keithyang/test.py
10
5
2
1
0
队列
一种数据结构线性表。
D}%64HJ4)VSI($OMT~_QTG6.png线性表通俗理解:一种存储结构。将具有“一对一”关系的数据“线性”地存储到空闲的物理空间中。
队列通俗理解:排队。如演唱会入口排队检票规定队伍总长为10人,前面的人进去一个,后面才能补上一个。
代码理解:线性表中允许插入的一端称为队尾,允许删除的一端称为队头。适用于多线程编程。
python中有四种队列方法:先进先出,后进后出。
示例:
python
"""先进先出队列"""
import queue
# print('aa')
# python中引入内置库queue导入队列
# 创建队列对象q
# maxsize该队列数据上限,超过将将阻塞代码。直到数据被消费掉,0为不限制
q = queue.Queue(maxsize=6)
q.put([1,2])
#写入队列数据
for i in range(5):
q.put(i)
#输出当前队列所有数据
print(q.queue)
#删除队列数据,并返回该数据
q.get()
#打印所有队列数据
print(q.queue)
#删除队列数据,并返回该数据
q.get()
#打印所有队列数据
print(q.queue)
控制台输出:
deque([[1, 2], 0, 1, 2, 3, 4])
deque([0, 1, 2, 3, 4])
deque([1, 2, 3, 4])
网友评论