> I am looking for a way to determine the order of keyword parameters > passed on to a class method.
I'm fairly certain it's not possible, as how would code like this behave: def my_func(**kwd): kwd = OrderedDict(kwd) #magic happens here? return do_something(kwd) my_dict = {'hello':42, 'world':3.14159} print my_func(**my_dict) This is regularly used in lots of code. The ordering of the contents of my_dict is already lost before the my_func() ever gets a chance to see it. And in case one suggests trying to sniff the source-code for the ordering, it's easy to break with things like my_dict = read_dict_from_file(get_filename_from_user()) where the dict and its source are completely outside the scope of the code. The only way around it I see is to force the user to pass in an ordered dict explicitly: def my_func(ordered_dict_of_kwdargs): return do_something(ordered_dict_of_kwdargs) my_dict = OrderedDict() my_dict['hello'] = 42 my_dict['world'] = 3.14159 print my_func(my_dict) -tkc -- http://mail.python.org/mailman/listinfo/python-list