creating many similar properties

Marc 'BlackJack' Rintsch bj_666 at
Wed Oct 18 08:34:53 CEST 2006

In <n2fZg.3322$Ka1.1194 at news01.roc.ny>, Lee Harr wrote:

> But what if I have a whole bunch of these pwm properties?
> I made this:
> class RC(object):
>     def _makeprop(name):
>         prop = '_%s' % name
>         def _set(self, v):
>             v_new = v % 256
>             setattr(self, prop, v_new)
>         def _get(self):
>             return getattr(self, prop)
>         return property(_get, _set)
>     pwm01 = _makeprop('pwm01')
>     pwm02 = _makeprop('pwm02')
> Not too bad, except for having to repeat the name.
> I would like to just have a list of pwm names and
> have them all set up like that. It would be nice if
> each one was set to a default value of 127 also....
> Any thoughts?

Use `__getattr__()` and `__setattr__()` methods and a dictionary of names
mapped to values and another that maps the names to default values for the
modulo operation.

	Marc 'BlackJack' Rintsch

More information about the Python-list mailing list