Classes with initialization

Carl Banks pavlovevidence at
Tue Apr 10 01:16:11 CEST 2007

On Apr 9, 3:26 am, mariano.suarezalva... at wrote:
> Hi all,
> I'm currently using code similar to this:
>   class ClassWithInitialization(type):
>       def __init__(cls, name, bases, dict):
>           type.__init__(name, bases, dict)
>           dict['__class_init__'](cls)
>   class A:
>       __metaclass__ = ClassWithInitialization
>       def __class_init__(cls):
>           cls.some_attribute = ...
>           ...
> in order to get class attributes initialized (since the values of
> these attributes
> need non trivial work to be computed, putting the code that does that
> computation in the class scope ends up with the class having extra
> attributes---the `local' variables used in the computation of the
> values of class attribute; so I'm using __class_init__'s scope to
> contain those variables)
> I was wondering: is there a simpler approach to this?

You could put the computations right in the class, and del the extra
variables when done.

Carl Banks

More information about the Python-list mailing list