Considera un'API del servizio web che restituisce un oggetto Json complesso. Usando gli strumenti Python di serie per il lavoro, questo leggerà dal servizio web come un dict che contiene, a sua volta, una combinazione di matrici, dit, stringhe e numeri.
Confesso: questi dati nascono in Java. In Java, esiste un modello di dati per questi dati. La mia domanda è: i programmatori Python tinti di lana desidererebbero un modello di dati di classe Python che aggiungesse un certo grado di notabilità, o si aspetterebbero di ricevere la situazione descritta nel primo paragrafo.
In termini di codice, qual è il valore di:
text.tokens[3].part_of_speech
al contrario di:
text['tokens'][3]['part_of_speech']
Sulla base di alcuni commenti, voglio espanderlo un po '. Quello che ho scritto sopra è tutto sul consumo di una struttura dati complessa che arriva in Python come Json, e posso vedere che 'zuccherarlo' con una pila di classi con i marcatori @property non è molto utile.
Un altro lato della moneta sta assemblando uno di questi. Come, certamente, una persona che ha speso molto più tempo in Java, C ++, C (e Lisp?) Che in Python, io tenderei a vedere il valore in alcune API che mi aiuta a ricordare i nomi di tutti i bit e pezzi. Quindi forse questo suggerisce semplicemente di fornire delle costanti che forniscono le chiavi definite?