[Python] getter e setter praticamente uguali per piu' proprieta'
Marco Giusti
marco.giusti a gmail.com
Lun 16 Apr 2007 19:06:25 CEST
per sbaglio ho mandato l'email con un indirizzo diverso da quello con
cui mi sono inscritto alla lista, riposto il mesaggio
ciao!!
ho una classe dove voglio creare alcune propieta' che pero' sono
concettualmente molto simili, qualcosa di simile a:
class A(object):
vars = {}
for p in ('foo', 'bar', 'egg'):
def fget(self): return self.vars[p]
def fset(self, value):
if value is None: return
self.vars[p] = value
setattr(A, p, property(fget, fset))
pero' questo codice non funziona e cosi' sono costretto a creare una
setter e una getter per ogni variabile:
class A(object):
vars = {}
def fooSetter(self, value):
if value is None:
return
self.vars['foo'] = value
foo = property(lambda self: self.vars['foo'], fooSetter)
def barSetter(self, value):
if value is None:
return
self.vars['bar'] = value
bar = property(lambda self: self.vars['bar'], barSetter)
def eggSetter(self, value):
if value is None:
return
self.vars['egg'] = value
egg = property(lambda self: self.vars['egg'], eggSetter)
c'e' un metodo piu' veloce per ottenere lo stesso risultato?
ciao
m
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome: non disponibile
Tipo: application/pgp-signature
Dimensione: 189 bytes
Descrizione: Digital signature
Url: http://lists.python.it/pipermail/python/attachments/20070416/77fea385/attachment.pgp
Maggiori informazioni sulla lista
Python