第一种处理方法:
1 class Pagenation(object): 2 """ 3 处理分页相关的代码 4 """ 5 6 def __init__(self,page,per_page_num=10): 7 """ 8 初始化 9 :param page: 当前要查看的页面 10 :param per_page_num: 每页默认要显示的数据行数 11 """ 12 self.page = page 13 self.per_page_num = per_page_num 14 15 @property 16 def start(self): 17 """ 18 计算索引的起始位置 19 :return: 20 """ 21 return (self.page-1) * self.per_page_num 22 23 @property 24 def end(self): 25 """ 26 计算索引的结束位置 27 :return: 28 """ 29 return self.page * self.per_page_num 30 31 data_list = [] 32 33 for i in range(1, 901): 34 data_list.append('alex-%s' % i) 35 36 while True: 37 # 1. 要查看的页面 38 page = int(input('请输入要查看的页码:')) 39 40 obj = Pagenation(page) 41 page_data_list = data_list[obj.start:obj.end] 42 for item in page_data_list: 43 print(item)
第二种方法:
1 class Pagenation(object): 2 """ 3 处理分页相关的代码 4 """ 5 6 def __init__(self,data_list,page,per_page_num=10): 7 """ 8 初始化 9 :param data_list: 所有的数据 10 :param page: 当前要查看的页面 11 :param per_page_num: 每页默认要显示的数据行数 12 """ 13 self.data_list = data_list 14 self.page = page 15 self.per_page_num = per_page_num 16 17 @property 18 def start(self): 19 """ 20 计算索引的起始位置 21 :return: 22 """ 23 return (self.page-1) * self.per_page_num 24 25 @property 26 def end(self): 27 """ 28 计算索引的结束位置 29 :return: 30 """ 31 return self.page * self.per_page_num 32 33 def show(self): 34 result = self.data_list[self.start:self.end] 35 for row in result: 36 print(row) 37 38 39 data_list = [] 40 41 for i in range(1, 901): 42 data_list.append('alex-%s' % i) 43 44 while True: 45 # 1. 要查看的页面 46 page = int(input('请输入要查看的页码:')) 47 obj = Pagenation(data_list,page) 48 obj.show()