Clases de Libros y Usuarios
Parte de la sección Object Oriented Programming del Journey de Python de Coddy. Lección 56 de 64.
Desafío
FácilEn este desafío, implementarás la clase Book para un sistema de gestión de bibliotecas utilizando una estructura de varios archivos con una cobertura completa de pruebas.
Edita book.py para implementar la clase Book siguiendo los comentarios TODO. La implementación debe:
- Inicializarse con los parámetros title, author e ISBN
- Realizar un seguimiento del estado de disponibilidad y de la información del borrower
- Implementar una representación de cadena adecuada
Pruébalo tú mismo
from book import Book
# 1. Crea un objeto Book
book = Book("1984", "George Orwell", "345678")
# 2. Comprueba los atributos
print(book.title) # Debería imprimir: 1984
print(book.author) # Should print: George Orwell
print(book.isbn) # Debería imprimir: 345678
print(book.available) # Debería imprimir: True
print(book.borrower) # Debería imprimir: None
# 3. Prueba __str__ cuando está disponible
print(book) # Should print: 1984 by George Orwell (ISBN: 345678) - Available
# 4. Test __str__ when not available
book.available = False
print(book) # Should print: 1984 by George Orwell (ISBN: 345678) - Not AvailableTodas las lecciones de Object Oriented Programming
1Fundamentos de la POO
Archivos externosIntroducción a la POOClases vs ObjetosEl parámetro selfMétodosAtributosMétodo constructor (__init__)Resumen - Calculadora simple4Herencia
Herencia básicaLa función super()Sobrescritura de métodosHerencia múltipleOrden de resolución de métodosResumen - Jerarquía de empleados7Métodos especiales
Introducción a los métodos mágicosSobrecarga de operadoresMétodos mágicos de contenedoresRepaso - Lista personalizada10Patrones de diseño Parte 1
Introducción a los patrones de diseñoPatrón SingletonPatrón FactoryPatrón ObserverPatrón Strategy2Decoradores
Introducción a los decoradoresDecorador propertyDecorador de métodos estáticosDecorador de métodos de clase5Polimorfismo
Sobreescritura de métodos revisitadaDuck TypingClases y métodos abstractosDiseño de interfacesResumen - Calculadora de figuras8Conceptos avanzados de POO
Composición vs. HerenciaMixinsMétodos estáticos y de claseDecoradores de claseGestores de contexto11Patrones de diseño, parte 2
Patrón CommandPatrón AdapterPatrón DecoratorPatrón Template MethodPatrón StatePatrón Composite3Propiedades de clase
Variables de instancia vs de claseDecoradores de propiedadesAtributos privadosResumen - Gestor de cuentas bancarias6Encapsulamiento
Miembros públicos, protegidos y privadosModificadores de accesoOcultamiento de informaciónDecoradores de propiedades avanzadosResumen - Sistema de registros de estudiantes12Proyecto: Gestión de biblioteca
Descripción general del proyectoClases de Libros y UsuariosSistema de préstamosFuncionalidad de búsquedaInterfaz de administradorPruebas e integraciónPractica por tu cuenta: Compilador de Python online