Il giorno 22/giu/2013 14:44, "Marco Giusti" <marco.giu...@gmail.com> ha scritto: > > On Sat, Jun 22, 2013 at 02:05:55PM +0200, Gollum1 wrote: > > Come è possibile che funzioni e non mi dia errore? il mio dubbio è > > dato dal fatto che la classe Block() è definita con solo un pass. > > > > come è dunque possibile che io possa aggiungere il blocco di dati e > > poi stamparli? non dovrebbe dare un errore? > > > > (in pratica non ho ancora definito l'attributo data nella classe). > > il tuo dubbio è il seguente? > > >>> class Block: > ... pass > ... > >>> b = Block() > >>> b.data = "ciao" > >>> print b.data > ciao > >>> > > perché python non ha bisogno di definire un attributo, la definizione è > al momento del primo assegnamento. ogni oggetto ha un attributo > "__dict__" che è il dizionario degli attributi e quanto provi accedere > ad un attributo, accedi anche a quel dizionario. >
È quindi una assegnazione implicita... è come se venisse usato il metodo "extend" se non ricordi male, invece di insert... o sbaglio ad interpretare la cosa? > ho detto anche perché python cerca anche nel dizionario della classe e > dei genitori della classe. Si... questo dell'ereditarietà credo di averlo già digerito (ho studiato la programmazione ad oggetti, anche se è la prima volta che la uso in un mio progetto) -- Gollum1 tessssoro, dov'è il mio tessssoro...
_______________________________________________ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python