On Jan 15, 12:15 am, Paul Rubin <http://[EMAIL PROTECTED]> wrote: > Steven D'Aprano <[EMAIL PROTECTED]> writes: > > map = {'a': Aclass, 'b': Bclass, 'c': Cclass} > > class_ = map.get(astring, default=Zclass) > > > The result I want is the class, not the result of calling the class > > (which would be an instance). If I wanted the other semantics, I'd be > > using defaultdict instead. > > I used default as a keyward arg name indicating the presence of > a callable. I probably should have called it defaultfunc or something. > > x = d.get('a', f) # --> default value is f > x = d.get('a', defaultfunc=f) # --> default value is result of f() .
Nice idea, but if I want args I need to write it like that: x=d.get('a', defaultfunc=f, funcargs=(1,2,3)) instead of d['a', f(1,2,3)] -- http://mail.python.org/mailman/listinfo/python-list