Classe de paginação com POO
Sua tarefa é criar uma class para lidar com conteúdo paginado em um site. A paginação é usada para dividir listas longas de conteúdo em uma série de páginas.

A class de paginação aceitará 2 parâmetros:
items (padrão:
[]): Umalistde conteúdos para paginar.pageSize (padrão:
10): A quantidade de itens a serem exibidos em cada página.
Por exemplo, poderíamos inicializar nossa paginação desta forma:
alphabetList = "abcdefghijklmnopqrstuvwxyz".split('')
p = Pagination(alphabetList, 4)Em seguida, use o método getVisibleItems para exibir o conteúdo da lista paginada.
p.getVisibleItems() # ["a", "b", "c", "d"]Você deverá implementar vários métodos para percorrer as páginas, como:
prevPagenextPagefirstPagelastPagegoToPage
Veja a continuação do exemplo acima usando nextPage e lastPage:
p.nextPage()
p.getVisibleItems()
# ["e", "f", "g", "h"]
p.lastPage()
p.getVisibleItems()
# ["y", "z"]Observações
- O segundo argumento (
pageSize) pode ser umfloat; nesse caso, basta convertê-lo para umint(isso também se aplica ao métodogoToPage). - Os métodos usados para mudar de página devem permitir encadeamento, para que você possa chamá-los um após o outro assim:
p.nextPage().nextPage() - Defina os atributos
p.totalPagesep.currentPagecom o número apropriado, pois não pode existir uma página 0. - Se uma página estiver fora do atributo
totalPages, o método goToPage deverá ir para a página mais próxima do número fornecido (por exemplo, há apenas 5 páginas no total, masp.goToPage(10)é fornecido:p.currentPagedeve ser definido como 5; se 0 ou um número negativo for fornecido,p.currentPagedeve ser definido como 1). - Remova os comentários que forneci antes de publicar sua solução.