分页(面向对象) --Python3

知识共享许可协议 版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (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]
请输入页码:

猜你喜欢

转载自blog.csdn.net/Thanlon/article/details/94379221