zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    如何学习一项新技术呢?
    开发人员如何构建自己的学习笔记系统
    Stream流之List、Integer[]、int[]相互转化
    图解LinkedHashMap原理
    java 手动实现单链表(尾插法和头插法)
    为什么你学不会递归?刷题几个月,告别递归,谈谈我的经验
    谈谈限流算法的几种实现
    使用LinkedHashMap实现一个简易的LRU缓存
    Java深拷贝和浅拷贝
    Excel两列求差集和并集的实现
  • 原文地址:https://www.cnblogs.com/fengchong/p/9555509.html
Copyright © 2011-2022 走看看