2014/1/5 Gabriele Battaglia <gabriele.battag...@gmail.com>: > 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