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

Marco Ippolito ippolito.marco a gmail.com
Lun 12 Gen 2015 10:20:45 CET


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__?

Vi ringrazio.
Marco


Maggiori informazioni sulla lista Python