On Jan 17, 2008 10:05 AM, <[EMAIL PROTECTED]> wrote:
> Hello all,
> For some reason, the following does not work :
>
>
> class C:
> TYPES = [None]
> DICT = {}
> for Type in TYPES:
> DICT.update((E,Type) for E in [1])
>
> >>> NameError: global name 'Type' is not defined
>
>
> What do you think? Is this a bug?
You cannot access a class's class variables in it's class-statement
scope, since the name of the type is not bound until after the class
statement is completed.
Try:
class C:
TYPES = [None]
DICT = {}
for Type in C.TYPES:
C.DICT.update((E, Type) for E in [1])
--
Neil Cerutti <[EMAIL PROTECTED]>
--
http://mail.python.org/mailman/listinfo/python-list