Nachdem ich viele Jahre lang eine große Codebasis verwaltet habe, die rohe Dicts gegenüber Objekten bevorzugte, bin ich der Meinung, dass Sie, wenn diese Codebasis entweder A) von einer anderen Person oder B) von mehreren Personen verwaltet werden soll, auf echte Klassen und OOP umsteigen sollten. Vor allem die Tatsache, dass man leicht erkennen kann, welche Attribute eine Klasseninstanz haben soll, indem man sich den Quelltext ansieht oder sogar interaktiv mit dir()
und anderen Introspektionstechniken ist Ihr Code viel einfacher zu erlernen, zu ändern und zu pflegen. Das Verständnis und die Fehlersuche sind bei Klassen mit intuitiven Namen, wohldefinierten Eigenschaften, Dokumentation und lesbarem Quellcode viel einfacher als bei einem riesigen Wirrwarr von Funktionen, die Dicts als Argumente nehmen und sie zur Laufzeit auf unzählige Arten umwandeln, die nur durch Lesen der gesamten Codebasis verstanden werden können. Tracebacks sind im Allgemeinen auch leichter zu lesen und zu entziffern, wenn Classe involviert sind, da man keine generischen Low-Level-Fehlermeldungen erhält.
Als weiteren Beweis können Sie sich ausgereifte und erfolgreiche Python-Projekte ansehen. Sie werden eine Menge OOP, Klassen und Dokumentation sehen. Rohe Dicts, Listen, Sets und Tupel sind großartig, wenn sie geeignet sind (Ihre Daten sind wirklich einfach) und für kleine Projekte und Skripte, aber die Wartbarkeit ist ab einer bestimmten Projektgröße nicht mehr gegeben. Der Gedanke "X ist nur ein Diktat" überlebt nur, solange Ihr Konzept von X extrem einfach ist.