Clase de paginación con POO
Tu tarea es crear una class para gestionar contenido paginado en un sitio web. La paginación se usa para dividir listas largas de contenido en una serie de páginas.

La class de paginación aceptará 2 parámetros:
items (predeterminado:
[]): Unalistde contenidos para paginar.pageSize (predeterminado:
10): La cantidad de elementos que se mostrarán en cada página.
Así, por ejemplo, podríamos inicializar nuestra paginación de esta manera:
alphabetList = "abcdefghijklmnopqrstuvwxyz".split('')
p = Pagination(alphabetList, 4)Después, usa el método getVisibleItems para mostrar el contenido de la lista paginada.
p.getVisibleItems() # ["a", "b", "c", "d"]Deberás implementar varios métodos para recorrer las páginas, como los siguientes:
prevPagenextPagefirstPagelastPagegoToPage
Esta es una continuación del ejemplo anterior usando nextPage y lastPage:
p.nextPage()
p.getVisibleItems()
# ["e", "f", "g", "h"]
p.lastPage()
p.getVisibleItems()
# ["y", "z"]Notas
- El segundo argumento (
pageSize) podría ser unfloat; en ese caso, simplemente conviértelo en unint(esto también aplica al métodogoToPage). - Los métodos que se usan para cambiar de página deben permitir encadenamiento, para que puedas llamarlos uno tras otro así:
p.nextPage().nextPage() - Configura los atributos
p.totalPagesyp.currentPagecon el número correspondiente, ya que no puede existir una página 0. - Si una página está fuera del atributo
totalPages, entonces el método goToPage debe ir a la página más cercana al número proporcionado (por ejemplo, solo hay 5 páginas en total, pero se proporcionap.goToPage(10):p.currentPagedebe establecerse en 5; si se proporciona 0 o un número negativo,p.currentPagedebe establecerse en 1). - Elimina los comentarios que proporcioné antes de publicar tu solución.