En primer lugar, me gustaría señalar que conozco los conceptos de OOP y entiendo las diferencias entre los diccionarios y las clases. Mi pregunta es acerca de lo que tiene sentido en el diseño de los sentidos en este caso:python: ¿Por encima de usar clases en lugar de diccionarios?
Estoy diseñando una aplicación web en python y tengo que representar algo así como un objeto libro. Los libros tienen capítulos y capítulos con títulos y contenido. Para simplificar, digamos que el contenido es texto sin formato.
Mi pregunta es, ¿debería hacer el libro y las clases de capítulo o diccionarios? Sé que sería mejor usar book.chapter en lugar de book ['chapter'], y si termino teniendo métodos en el futuro, podría tener sentido colocarlos en la clase de libros. Sin embargo, me gustaría saber si hay alguna sobrecarga para usar las clases en lugar de almacenar la información en los diccionarios.
Si no quiero instanciar un objeto de libro de una base de datos cada vez y almacenarlo como un pickle, tendría que preocuparme por la incompatibilidad con objetos de libros anteriores si agrego/elimino miembros de datos de una clase. Siento que sería más fácil lidiar con este problema en los diccionarios. ¿Alguna sugerencia sobre si/cuándo tiene sentido usar diccionarios en lugar de clases?
Creo que la primera frase es un mito. – Svante
@Svante, si es un mito, entonces, ¿cuál es la verdad? –
No, lo leí en un libro C que rastreó el historial de tipos de datos. – mcandre