class Type(type): def __new__(mcls, name, bases, namespace): return super().__new__(mcls, 'foo', bases, namespace) class Obj(metaclass=Type): def __init__(self, **kws): pass print('Obj.__name__', Obj.__name__) if hasattr(Obj, '__qualname__'): print('Obj.__qualname__', Obj.__qualname__) print('repr(Obj)', repr(Obj))