• Python 中用面向对象的思想处理网页翻页 (初级)


    第一种处理方法:

     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()
  • 相关阅读:
    GO学习之 为什么选择GO
    Flask学习之 Jinja2模板引擎
    排序算法之归并排序的python实现
    排序算法之快速排序的python实现
    排序算法之希尔排序的python实现
    排序算法之插入排序的python实现
    排序算法之选择排序的python实现
    Android 中正则表达式工具类
    java之从字符串比较到==和equals方法区别
    Android Studio酷炫插件(一)——自动化快速实现Parcelable接口序列化
  • 原文地址:https://www.cnblogs.com/fengchong/p/9555509.html
Copyright © 2020-2023  润新知