Let me try again (and please forgive my mistakes in the detail). The usual way (as in demo\metaclasses): class B_Meta: .... B = B_Meta('B', (), {}) class C(B): pass B is an instance of the (meta)class B_Meta. C is now another instance of the same (meta)class. because B.__class__, which is the (meta)class itself, is called, and returns a new instance. B_Meta can (and must) implement a lot of behaviour. In contrast, with my recipe: def MagicFunction(name, bases, dict): ...construct a class on the fly... ...create an instance of this class... return aninstance_of_a_class def B_Meta(): pass B_Meta.__class__ = MagicFunction class C(B): pass Now C is an_instance_of_a_class (which is an instance of a normal python class), and thus does inherit the normal behaviour of Python classes. Thomas PS: I'm sure this all will be much better in descr-branch. I've checked it out and am playing with it from time to time, but most of the time I have to use released Python versions.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4