а вы уверены, что вам надо коннектить именно к классу, а не к объекту?
тогда правильнее сделать это как @classmethod а не метод объекта.
а чтобы не копировать строчку, атрибут можно создавать в мета-классе:
class MetaComp(type):
def __init__(cls,name,bases,kwargs):
super(MetaComp, cls).__init__(name,bases,kwargs)
cls.connects = [] # для каждого класса и наследника будеит свой
class Comp(object):
__metaclass__ = MetaComp
@classmethod
def connect(cls,obj):
cls.connects.append(obj)
class Comp1(Comp):
pass
class Comp2(Comp):
pass
# каждый вызов добавляет к своему connects:
Comp.connect('foo')
Comp1.connect('foo1')
Comp2.connect('foo2')