<p dir="ltr">Il giorno 22/giu/2013 14:44, "Marco Giusti" <<a href="mailto:marco.giusti@gmail.com">marco.giusti@gmail.com</a>> ha scritto:<br>
><br>
> On Sat, Jun 22, 2013 at 02:05:55PM +0200, Gollum1 wrote:<br>
> > Come è possibile che funzioni e non mi dia errore? il mio dubbio è<br>
> > dato dal fatto che la classe Block() è definita con solo un pass.<br>
> ><br>
> > come è dunque possibile che io possa aggiungere il blocco di dati e<br>
> > poi stamparli? non dovrebbe dare un errore?<br>
> ><br>
> > (in pratica non ho ancora definito l'attributo data nella classe).<br>
><br>
> il tuo dubbio è il seguente?<br>
><br>
>         >>> class Block:<br>
>         ...  pass<br>
>         ...<br>
>         >>> b = Block()<br>
>         >>> b.data = "ciao"<br>
>         >>> print b.data<br>
>         ciao<br>
>         >>><br>
><br>
> perché python non ha bisogno di definire un attributo, la definizione è<br>
> al momento del primo assegnamento. ogni oggetto ha un attributo<br>
> "__dict__" che è il dizionario degli attributi e quanto provi accedere<br>
> ad un attributo, accedi anche a quel dizionario.<br>
></p>
<p dir="ltr">È quindi una assegnazione implicita... è come se venisse usato il metodo "extend" se non ricordi male, invece di insert... o sbaglio ad interpretare la cosa?</p>
<p dir="ltr">> ho detto anche perché python cerca anche nel dizionario della classe e<br>
> dei genitori della classe.<br></p>
<p dir="ltr">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)<br></p>
<p dir="ltr">-- <br>
Gollum1<br>
tessssoro, dov'è il mio tessssoro...</p>