[Python-Dev] bug or a feature?

Armin Rigo arigo at tunes.org
Thu Jun 12 17:24:43 CEST 2008


Hi,

On Wed, Jun 11, 2008 at 10:44:17PM -0400, Scott Dial wrote:
> The only reason the test used locals() was
> because it was the only way to insert a non-string key into the class
> namespace.

This discussion is mistakenly focused on locals().  There is a direct
way to have arbitrary keys in the dict of a type:

>>> MyClass = type('MyClass', (Base,), {42: 64})
>>> MyClass.__dict__[42]
64

There is, however, no way to modify or add non-string keys in the type
after its creation.  So the question is whether the type() constructor
is allowed to fail with a TypeError when the initial dict contains
non-string keys (this is PyPy's current behavior).


A bientot,

Armin.


More information about the Python-Dev mailing list