[Python-Dev] reducing self.x=x; self.y=y; self.z=z boilerplate code

Jp Calderone exarkun at divmod.com
Sat Jul 2 01:28:31 CEST 2005


On 2005年7月01日 19:22:20 -0400, "Phillip J. Eby" <pje at telecommunity.com> wrote:
>At 03:59 PM 7/1/2005 -0700, Ralf W. Grosse-Kunstleve wrote:
> [snip]
>>This extends to any number of arguments:
>> class grouping:
> def __init__(self, x, y, z):
> self.__dict__.update(locals())
> del self.self

If you use vars(self).update(locals()), it even looks halfway pleasant ;) I'm not sure what python-dev's current opinion of vars(obj) is though (I'm hoping someone'll tell me).
Of course, both of these fall over for __slots__'ful classes. It'd be nice if there were a general way to deal with attributes of an instance, regardless of the implementation details of its memory layout.
Jp


More information about the Python-Dev mailing list

AltStyle によって変換されたページ (->オリジナル) /