版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
简单的分页练习:
# coding:utf-8
class Pagination:
'''
处理分页的类
'''
def __init__(self, lst, page_num, per_page_num=10):
'''
initialize
:param lst:所有数据
:param page_num:查看的页码
:param per_page_num:每页显示的数据记录数
'''
self.lst = lst
self.page_num = page_num
self.per_page_num = per_page_num
@property
def start(self):
'''
计算索引的起始位置
:return:self.per_page_num * (self.page_num - 1)
'''
return self.per_page_num * (self.page_num - 1)
@property
def end(self):
'''
计算索引的结束位置
:return:self.per_page_num * self.page_num
'''
return self.per_page_num * self.page_num
def show(self):
print(self.lst[self.start:self.end])
lst = []
for items in range(0, 1000):
lst.append(items)
while True:
# 查看的页码
page_num = int(input('请输入页码:'))
# 每页显示10条数据
obj = Pagination(lst, page_num)
obj.show()
控制台打印记录:
请输入页码:1
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
请输入页码:2
[10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
请输入页码:3
[20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
请输入页码: