Код: Выделить всё
class meta(type):
def __new__(mcls, name, bases, attrs):
obj = super().__new__(mcls, name, bases, attrs)
setattr(obj, "temp", "This is temporary")
return obj
def __call__(cls, *args, **kwargs):
obj = type.__call__(cls, *args, **kwargs)
# delattr(obj, "temp")
return obj
class test(metaclass=meta):
def __init__(self):
print(self.temp)
Код: Выделить всё
a = test()
print(a.temp)
print(hasattr(a, "temp"))
delattr(a, "temp")
Код: Выделить всё
This is temporary
This is temporary
True
AttributeError: 'a' object has no attribute 'temp'
Если это имеет значение, это Python 3.12
Подробнее здесь: https://stackoverflow.com/questions/786 ... -metaclass