Re: [Python] Semplice domanda sulle classi.
> > P.S. Per Gabriele: si tratta di una macchina agricola a 5 ruote. > Nossignore, trattasi della notissima legge i Ohm: ogni quattro Ohm una Ohm di scorta (in dialetto abruzzese rende meglio) Carlos -- "Somos los que amasan, sin embargo no tenemos pan, somos los que cavan el carbón, sin embargo tenemos frío somos los que no tienen nada, y estamos viniendo a tomar el mundo." Tassos Livaditis (Poeta greco, 1922, 1988) ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Semplice domanda sulle classi.
2014/1/5 Raffaele Salmaso > if ruote not in (4,6, 8): > raise ValueError('no') > Gravissimo errore! :-) http://www.poettinger.at/img/landtechnik/schwadkreisel/fahrwerk722.jpg Ciao. Marco. P.S. Per Gabriele: si tratta di una macchina agricola a 5 ruote. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Semplice domanda sulle classi.
2014/1/5 Gabriele Battaglia : > Ciao. > Ho questo quesito, da principiante, sulle classi. > > Creo la mia fabbrica di automobili: > > class Veicoli: > ruote = 4 > > Per ora mi accontento e mi compro subito una macchina: > > Auto = Veicoli() > > Ora, siccome sono un tipo innovativo, mi metto li ed applico una modifica > alla mia vettura nuova: > > Auto.ruote = 5 > > Domanda: posso inserire del codice, nella classe, che forzi i dati membri ad > assumere solo determinati valori, e non altri? > Ad esempio, in questo caso, Auto.ruote potrebbe sollevare una eccezione o > essere aggiustato via codice ad un altro valore. @property (ah, hai cambiato solo la classe, ma il codice che la usa non serve cambiarlo ;) ) class Veicoli(object): def __init__(self, ruote=4): self._ruote = ruote @property def ruote(self): return self._route @ruote.setter def ruote(self, ruote): if ruote not in (4,6, 8): raise ValueError('no') self._ruote = ruote Auto = Veicoli() Auto.ruote = 5 -- | Raffaele Salmaso | http://salmaso.org | https://bitbucket.org/rsalmaso | http://gnammo.com ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
Re: [Python] Semplice domanda sulle classi.
On 05/01/2014 00:22, Gabriele Battaglia wrote: Ciao. Ho questo quesito, da principiante, sulle classi. Creo la mia fabbrica di automobili: class Veicoli: ruote = 4 Per ora mi accontento e mi compro subito una macchina: Auto = Veicoli() Ora, siccome sono un tipo innovativo, mi metto li ed applico una modifica alla mia vettura nuova: Auto.ruote = 5 Domanda: posso inserire del codice, nella classe, che forzi i dati membri ad assumere solo determinati valori, e non altri? Ad esempio, in questo caso, Auto.ruote potrebbe sollevare una eccezione o essere aggiustato via codice ad un altro valore. Grazie. La strada e' quella di sovrascrivere il comportamento di default dell'assegnamento per l'attributo specifico. Cioe' devi scrivere una metodo che viene richiamato ogni volta che viene assegnato un valore all'attributo specifico. http://docs.python.org/2/library/functions.html#property ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python
[Python] Semplice domanda sulle classi.
Ciao. Ho questo quesito, da principiante, sulle classi. Creo la mia fabbrica di automobili: class Veicoli: ruote = 4 Per ora mi accontento e mi compro subito una macchina: Auto = Veicoli() Ora, siccome sono un tipo innovativo, mi metto li ed applico una modifica alla mia vettura nuova: Auto.ruote = 5 Domanda: posso inserire del codice, nella classe, che forzi i dati membri ad assumere solo determinati valori, e non altri? Ad esempio, in questo caso, Auto.ruote potrebbe sollevare una eccezione o essere aggiustato via codice ad un altro valore. Grazie. GB. ___ Python mailing list Python@lists.python.it http://lists.python.it/mailman/listinfo/python