[Python-Dev] Very Strange Argument Handling Behavior (original) (raw)

Maciej Fijalkowski fijall at gmail.com
Sat Apr 17 19:52:52 CEST 2010


On Sat, Apr 17, 2010 at 11:38 AM, Dino Viehland <dinov at microsoft.com> wrote:

Benjamin wrote:

2010/4/17 Guido van Rossum <guido at python.org>: > On Sat, Apr 17, 2010 at 9:22 AM, Nick Coghlan <ncoghlan at gmail.com> wrote: >> Guido van Rossum wrote: >>> Because Python promises that the object the callee sees as 'kwargs' is >>> "just a dict". >> >> Huh, I thought kwargs was allowed to be implemented as a >> string-keys-only dict (similar to class and module namespaces) while >> still be a valid Python implementation. I guess I was wrong. > > Actually I don't know about that. Is there language anywhere in the > language reference that says this? What do IronPython, Jython, PyPy > actually do?

Similar to CPython, PyPy has dict versions optimized for strings, which fall back to the general version when given non-string keys. IronPython as well.  The only place we use a string only dict is for new-style classes whose dict's are wrapped in a dictproxy.

And yet that breaks some code :-)



More information about the Python-Dev mailing list