当前位置:首页>python>Python面向对象编程,如何实现对队列的模拟,测试元素入队、元素出队和检测

Python面向对象编程,如何实现对队列的模拟,测试元素入队、元素出队和检测

  • 2026-09-02 19:35:13
Python面向对象编程,如何实现对队列的模拟,测试元素入队、元素出队和检测

本实战技能使用面向对象编程的思想,实现对队列的模拟,主要测试元素入队、元素出队和 检查队列是否已满等功能。运行程序得到的结果如下图所示。

自定义队列实现
【技术要点】
队列是一种只允许在一端进行插入操作,而在另一端进行删除操作的线性表。允许插入的一端称为队尾,允许删除的一端称为队头。队列示意如下图所示。
队列示意图
【主体设计】
队列类封装后,可以实现设置队列大小、入队、出队、显示队列元素、判断队列等功能,实现步骤如下。
Step1:创建自定义myQueue类。
Step2:添加队列属性。
Step3:创建入队、出队、显示队列元素、判断队列等方法。
Step4:验证创建好的类对象。
【编程实现】
本实战技能使用Jupyter Notebook进行编写,建立相关的源文件【自定义队列.ipynb】,在相应的【cell】里面编写代码。具体步骤及代码如下所示。
Step1:使用关键词class,创建myQueue类,代码如下所示。
1. class myQueue:
Step2:创建构造函数,添加队列属性,默认队列大小为10,代码如下所示。
1. def _init_(self, size=10):
2. self._content = []
3. self._size = size
4. self._current = 0
Step3:建立设置队列大小的setSize( )方法,代码如下所示。
1. def setSize(self, size):
2. if size < self._current: # 如果缩小队列,应删除后面的元素
3. for i in range(size, self._current)[::-1]:
4. del self._content[i]
5. self._current = size
6. self._size = size
Step4:创建入队的put( )方法,将元素插入队列,代码如下所示。
1. def put(self, v): # 入队
2. if self._current < self._size:
3. self._content.append(v)
4. self._current = self._current + 1
5. else:
6. print('The queue is full')
Step5:创建出队的get( )方法,代码如下所示。
1. def get(self): # 出队
2. if self._content:
3. self._current = self._current - 1
4. return self._content.pop(0)
5. else:
6. print('The queue is empty')
Step6:创建显示队列当前元素的show( )方法,代码如下所示。
1. def show(self):
2. if self._content:
3. print(self._content)
4. else:
5. print('The queue is empty')
Step7:创建清空队列所有元素的empty( )方法,代码如下所示。
1. def empty(self):
2. self._content = []
Step8:创建判断队列是否为空的isEmpty( )方法,代码如下所示。
1. def isEmpty(self):
2. if not self._content:
3. return True
4. else:
5. return False
Step9:创建判断队列是否已满的isFull( )方法,代码如下所示。
1. def isFull(self):
2. if self._current == self._size:
3. return True
4. else:
5. return False
Step10:检验结果,代码如下所示。
1. q = myQueue( )
2. print(' 案例 22:自定义队列 ')
3. print(' 队列元素出队:')
4. q.get( )
5. q.put(2)
6. q.put(3)
7. print(' 队列元素入队 :')
8. q.show( )
9. print(' 队列是否已满 :', str(q.isFull( )))
10. q.setSize(2)
11. print(' 队列重设后是否已满 :', str(q.isFull( )))
12. print(' 尝试添加新元素:')
13. q.put(3)

今日推荐好书

本书共分4篇,针对Python爬虫初学者,从零开始系统地讲解了如何利用Python进行网络爬虫程序开发。

第1篇快速入门篇:主要介绍了Python环境搭建和基础语法知识、爬虫入门知识及基本的使用方法、Ajax数据的分析和抓取、动态渲染页面数据的爬取、网站代理的设置与使用、验证码的识别与破解,以及App数据抓取、数据的存储方法等内容。

第2篇技能进阶篇:主要介绍了PySpider和Scrapy两个常用爬虫框架的基本使用方法、爬虫的部署方法,以及数据分析、数据清洗常用库的使用方法。

第3篇项目实战篇:以2个综合实战项目,详细讲解了Python数据爬虫开始与实战应用。本篇对全书内容进行了总结回顾,强化读者的实操水平。

第4篇技能拓展篇:从数据爬取、数据清洗和数据分析三个角度,介绍了一常用AI技术的实用技巧。运用这些技巧,读者可以提高网络爬虫程序的编写速度和数据分析效率。

关联好书推荐

往期内容回顾

VI 设计的4大原则

如何用Excel计算投资收益?

设计必知:好的Logo有哪些特点

最新文章

随机文章