Welcome, guest | Sign In | My Account | Store | Cart
def as_class(*bases, metaclass=type, **kwargs):
    def decorator(f):
        namespace = f()
        if "__doc__" not in namespace:
            namespace["__doc__"] = f.__doc__
        return metaclass(f.__name__, bases, namespace)
    return decorator

@as_class(object)
def X():
    def __init__(self, name):
        self.__name__ = name
    def __str__(self):
        return self.__name__
    return locals()

x=X("something")
assert x.__name__ == "something"
print(x)

History