[Python-Dev] Very Strange Argument Handling Behavior (original) (raw)
Dino Viehland dinov at microsoft.com
Sat Apr 17 20:03:59 CEST 2010
- Previous message: [Python-Dev] Very Strange Argument Handling Behavior
- Next message: [Python-Dev] Very Strange Argument Handling Behavior
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Maciej wrote:
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 :-)
Sure, if you do:
class C(object): locals()[object()] = 42
dir(C)
You lose. Once I'm aware of some piece of code in the wild doing this then I'll be happy to change IronPython to be more compatible. :)
- Previous message: [Python-Dev] Very Strange Argument Handling Behavior
- Next message: [Python-Dev] Very Strange Argument Handling Behavior
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]