what is the idiom for copy lots of params into self?

tleeuwenburg at gmail.com tleeuwenburg at gmail.com
Wed Jan 10 21:26:28 EST 2007


def __init__(self, **kw):

   self.argdict = kw


Emin wrote:
> Dear Experts,
>
> When writing large classes, I sometimes find myself needing to copy a
> lot of parameters from the argument of __init__ into self. Instead of
> having twenty lines that all basically say something like self.x = x, I
> often use __dict__ via something like:
>
> class example:
>      def __init__(self,a,b,c,d,e,f,g,h,i,j,k,l,m,n):
>          for name in
> ['a','b','c','d','e','f','g','h','i','j','k','l','m','n']:
>              self.__dict__[name] = locals()[name]
>
> This saves a lot of code and makes it easier to see what is going on,
> but it seems like there should be a better idiom for this task. Any
> suggestions?
> 
> Thanks,
> -Emin




More information about the Python-list mailing list