[Python-Dev] module customization

Ethan Furman ethan at stoneleaf.us
Wed Nov 15 19:27:31 EST 2017

So there are currently two ways to customize a module, with PEP 562 proposing a third.

The first method involves creating a standard class object, instantiating it, and replacing the sys.modules entry with it.

The second way is fairly similar, but instead of replacing the entire sys.modules entry, its class is updated to be the 
class just created -- something like sys.modules['mymod'].__class__ = MyNewClass .

My request:  Can someone write a better example of the second method?  And include __getattr__ ?

My question:  Does that __getattr__ method have 'self' as the first parameter?  If not, why not, and if so, shouldn't 
PEP 562's __getattr__ also take a 'self'?


More information about the Python-Dev mailing list