On Wed, Sep 6, 2017 at 1:52 AM, Nathaniel Smith <njs@pobox.com> wrote:
​[...]​
 
import sys, types
class _MyModuleType(types.ModuleType):
    @property
    def ...

    @property
    def ...
sys.modules[__name__].__class__ = _MyModuleType

It's definitely true though that they're not the most obvious lines of code :-)


​It would kind of be in line with the present behavior if you could simply write something like this in the module:

class __class__(types.ModuleType):
​    @property
    def hello(self):
        return "hello"

    def __dir__(self):
        return ["hello"]



assuming it would be equivalent to setting __class__ afterwards.​

​--Koos​

 


--
+ Koos Zevenhoven + http://twitter.com/k7hoven +