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

Attachment: signature.asc
Description: Digital signature

_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Reply via email to