Il giorno 12 gennaio 2015 10:20, Marco Ippolito <ippolito.ma...@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@lists.python.it http://lists.python.it/mailman/listinfo/python