Sto eseguendo il debug di alcuni Python che prendono come input un elenco di oggetti, ognuno con alcuni attributi.È possibile creare oggetti anonimi in Python?
Mi piacerebbe codificare alcuni valori di test, ad esempio un elenco di quattro oggetti il cui attributo "foo" è impostato su un numero.
Esiste un modo più conciso di questo?
x1.foo = 1
x2.foo = 2
x3.foo = 3
x4.foo = 4
myfunc([x1, x2, x3, x4])
Idealmente, vorrei solo essere in grado di dire qualcosa del tipo:
myfunc([<foo=1>, <foo=2>, <foo=3>, <foo=4>])
(Ovviamente, che è fatta-up sintassi ma c'è qualcosa di simile che funziona davvero.?)
Nota: questo non verrà mai archiviato. È solo un codice di debug throwaway. Quindi non preoccuparti di leggibilità o manutenibilità.
Tuttavia, se si sta creando un intero gruppo di questi, è possibile risparmiare un po 'di tempo/memoria utilizzando il dizionario dato invece di crearne uno nuovo e copiare tutte le voci. Non * davvero * importa, però. –
beh, potrei essere soggettivo, ma non vedo alcuna sostanziale semplificazione. Sì, usi __init__ e aggiorni, ma stai ancora giocando con __dict__. – Tetha
Hai ragione, non c'è una semplificazione significativa. È solo più breve e non usa __new__, questo è tutto. – DzinX