joe Li wrote: > **class Bunch(object): > def __init__(self, **fields): > self.__dict__ = fields > > p = Bunch(x=2.3, y=4.5) > print p > > print p.__dict__ > > I dont' understand the usage of the double * here, could anyone explain > it for me?
if you're going to post questions to arbitrarily chosen threads, you could at least change the subject (but it's a lot nicer to open a new thread). the "**" prefix tells Python to stuff any excess keyword arguments into the given variable: >>> def func(**kwargs): ... print kwargs ... >>> func() {} >>> func(spam=1, egg=2) {'egg': 2, 'spam': 1} for more on Python's parameter syntax, see the section on "def" in the language reference; see e.g. http://effbot.org/pyref/def.htm </F> -- http://mail.python.org/mailman/listinfo/python-list