python html 2 image (png)

Fredrik Lundh fredrik at pythonware.com
Thu Oct 26 09:35:32 CEST 2006


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>




More information about the Python-list mailing list