On Saturday, July 2, 2016 at 1:50:56 PM UTC+12, Kevin Conway wrote:
> Regardless, all use cases you've listed are already satisfied by use of the
> static and class method decorators.
Except for the need to decorate every such function inside the class. How about:
import types
def namespace(inclass) :
"decorator which turns a class into a module."
outclass = types.ModuleType \
(
name = inclass.__name__,
doc = inclass.__doc__,
)
for attr in dir(inclass) :
if not attr.startswith("__") or attr in ("__package__",) :
setattr(outclass, attr, getattr(inclass, attr))
#end if
#end for
return \
outclass
#end namespace
Example use:
@namespace
class try_it :
"try it!"
val = "some text"
def func() :
print("func got called")
#end func
#end try_it
--
https://mail.python.org/mailman/listinfo/python-list