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

Emin emin.shopper at gmail.com
Wed Jan 10 17:46:54 EST 2007


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