[Python] Perplesso su come è stato definito __init__: avete qualche spiegazione?

Marco Ippolito ippolito.marco a gmail.com
Lun 12 Gen 2015 10:33:27 CET


ciao Marco,
grazie per darmi delle spiegazioni.
Nella mia "infinita" ignoranza, pensavo che tutto ciò che fosse
definito in __init__ fosse automaticamente "associato" in modo
continuativo all'oggetto creato.
A quanto pare non è proprio così.

Marco

Il 12 gennaio 2015 10:29, Marco De Paoli <depaolim a gmail.com> ha scritto:
>
>
> Il giorno 12 gennaio 2015 10:20, Marco Ippolito <ippolito.marco a gmail.com>
> ha scritto:
>
>> Ciao a tutti,
>> mi sto studiando gli algoritmi che trovo qui:
>> http://deeplearning.net/tutorial/lenet.html#lenet per adattarli a
>> quello che sto facendo io ora.
>>
>> Nel far ciò ho delle perplessità riguardanti python che mi lasciano
>> interdetto...:
>>
>> class LeNetConvPoolLayer(object):
>>     """Pool Layer of a convolutional network """
>>
>>     def __init__(self, rng, input, filter_shape, image_shape, poolsize=(2,
>> 2)):
>>
>> io pensavo che:
>> 1) le variabili messe tra parantesi, che sono quelle passate alla
>> classe quando viene chiamata, dovessero obbligatoriamente essere tutte
>> poi definite in __init__ , 2) e che tutte le variabili definite
>> all'interno di __init__ fossero tutte variabili dell'instanza della
>> classe e,. per questo, dovessero avere self
>> invece:
>> a) tra tutte le variabili in def __init__
>> (self, rng, input, filter_shape, image_shape, poolsize=(2, 2)):
>> solo self.input = input e poolsize sono definite
>> b) solo alcune delle variabili all'interno di __init__ sono state
>> definite con self.
>>
>> Quali potrebbero essere i motivi che hanno portato a definire in
>> questo modo le variabili in __init__?
>
>
> perchè mai tutti i valori passati ad init dovrebbero poi essere "salvati"
> anche come attributi dell'istanza?
> ad esempio il valore di filter_shape viene semplicemente utilizzato nella
> funzione __init__ ed, evidentemente, non c'è alcun bisogno di "ricordarselo"
> associandolo in modo continuativo all'oggetto creato
>
> ciao,
> Marco
>
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python
>


Maggiori informazioni sulla lista Python