CONSTRUCT - Adding Functionality to the Overall System

Ilias Lazaridis ilias at lazaridis.com
Sun Sep 17 23:44:30 EDT 2006


Damjan wrote:
> >> I understand that I can use __metaclass__ to create a class which
> >> modifies the behaviour of another class.
> >>
> >> How can I add this metaclass to *all* classes in the system?
> >>
> >> (In ruby I would alter the "Class" class)
> >
> > You'd have to set
> >
> > __metaclass__ = whatever
> >
> > at the top of each module whose classes are to get the new behavior.
>
> I think '__metaclass__ = whatever' affects only the creation of classes that
> would otherwise be old-style classes?

It seems so:

http://mail.python.org/pipermail/python-list/2003-June/166572.html

> > You can't alter classes which you don't control or create in your code.
>
> I remeber I've seen an implementation of import_with_metaclass somewhere on
> IBM's developerworks. I didn't quite undersntad it though.

http://www-128.ibm.com/developerworks/linux/library/l-pymeta.html

I am not so much interested in old-style, as is start production with
python 2.4 (possibly even with python 2.5).

.

--
http://lazaridis.com




More information about the Python-list mailing list