class borg(object)_shared_state {def __new__(cls* ** )obj super(borgcls __new__(cls* **kobj __dict__ cls _shared_state return obj subclassing is no problemjustclass foo(borg)pass class bar(foo)pass class baz(foo)_shared_state {data overriding to the rescue