On Thu, Apr 25, 2019 at 02:52:07PM +0530, Arup Rakshit wrote: > Here it is: *3.3.2.1. Customizing module attribute access* > (https://docs.python.org/3/reference/datamodel.html#customizing-module-attribute-access)
Oh! That's brand new in 3.7, no wonder I didn't know about it. I did see the core developers talking about adding this feature, but I didn't know that they had done so. Your original question was: > In the simple code like what are the advantages we get from? Is this > so that we can implement more special methods than just __getattr__ > and __dir__ in the module level? Yes, that's what the documentation says. I don't see any reason not to believe it. Oh, this is cool! I'm going to enjoy playing with this... py> from types import ModuleType py> class Magic(ModuleType): ... count = 0 ... @property ... def spam(self): ... self.count += 1 ... return ' '.join(['spam']*self.count) ... py> import sys py> sys.modules['__main__'].__class__ = Magic py> import __main__ py> __main__.spam 'spam' py> __main__.spam 'spam spam' py> __main__.spam 'spam spam spam' -- Steven _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor