On Dec 12, 7:09 pm, Ian Kelly <ian.g.ke...@gmail.com> wrote: > On Mon, Dec 12, 2011 at 5:21 AM, Eelco <hoogendoorn.ee...@gmail.com> wrote: > > You cannot; only constructors modelling a sequence or a dict, and > > only > > in that order. Is that rule clear enough? > > The dict constructor can receive either a sequence or a mapping, so if > I write this: > > def func(a, b, dict(c)): > > what will I get? Probably I would want the equivalent of: > > def func(a, b, **c): > > but you seem to be saying that I would actually get the equivalent of this: > > def func(a, b, *c): > c = dict(c) > > Cheers, > Ian
Im not sure if I was clear on that, but I dont care what the constructors accept; I meant to overload on the concept the underlying type models. Dicts model a mapping, lists/tuples model a sequence. MI deriving from both these models is illegal anyway, so one can unambigiously overload on that trait. The syntax only superficially resembles 'call the dict constructor with the object passed into kwargs'. What its supposed to mean is exactly the same as **kwargs, but with added flexibility. -- http://mail.python.org/mailman/listinfo/python-list