[Python-ideas] Why does BoundArguments use an OrderedDict?

random832 at fastmail.us random832 at fastmail.us
Thu Dec 18 17:09:23 CET 2014


On Thu, Dec 18, 2014, at 02:05, Nick Coghlan wrote:
> As far as I'm aware, it's an ordered dictionary because that makes the
> default repr() predictable when binding arguments for a given function
> (in the absence of after-the-fact manipulation like the example in the
> docs that injects the default values as explicitly bound arguments).
> 
> The inspect.signature() machinery includes quite a few things like
> that where the serialisation as a human readable string is considered
> as important then the programmatic representation.

Would it be reasonable to make a lightweight "predictable dict" class
that makes a weaker guarantee, e.g. that the enumeration order will
match the insertion order in the case where it is filled from empty with
no intervening deletions and not guaranteed in any other cases?


More information about the Python-ideas mailing list