Можно ли применить метод __repr__ к классу, а не к его экземплярам?

class test():
    c = 0
    def __init__ (self, a, b):
        self.a = a
        self.b = b
        test.c += self.a * self.b
    @classmethod
    def __repr__ (cls):
        return "{}".format(cls.c)

p_1 = test(10, 20)
p_2 = test(5, 6)
print (test) # должно быть 230

Ответы (1 шт):

Автор решения: Danis
class A(type):
    def __repr__(self):
        return "{}".format(self.c)

class test(metaclass = A):
    c = 0
    def __init__ (self, a, b):
        self.a = a
        self.b = b
        test.c += self.a * self.b

p_1 = test(10, 20)
p_2 = test(5, 6)
print(test)
→ Ссылка