小案例--面向对象中实现分页

大家在浏览网页的时候都知道浏览器都有个分页的选项,这个小功能是如何实现的呢?今天就给大家分享一个使用面向对象来制作一个简单的分页功能.

 1 class Page:
 2     def __init__(self,lst,pagesize):
 3         self.lst = lst  #你的数据
 4         self.pagesize = pagesize  #每页的数据显示多少条 
 5     def start(self):              #首页
 6         return self.lst[0:self.pagesize]
 7     @property                         #设置一个属性,作为你的页码
 8     def totle(self):             #总共的页数
 9         if len(self.lst) % self.pagesize == 0:
10             return len(self.lst) // self.pagesize
11         else:
12             return len(self.lst) // self.pagesize + 1
13     def index(self):             #选页功能
14         ye = int(input('请输入你要选择的页码').strip())
15         if ye < 1 or ye > self.totle:
16             print('没法分页')
17         else:
18             return self.lst[(ye-1)*self.pagesize:ye*self.pagesize]
19     def end(self):     #尾页
20         return self.lst[(self.totle-1)*self.pagesize:self.totle*self.pagesize]
21 p = Page([1,2,3,4,12,5,6,7,8,],3)
22 print(p.start())
23 print(p.index())
24 print(p.end())

这样整体的分页功能就初步的实现了,整体的方案大致是利用了切片的思维,加上属性的封装促使你的分页更加的灵活多变

原文地址:https://www.cnblogs.com/Godisgirl/p/10165509.html