クラスまたはそのサブクラスのすべてのインスタンスで共有できるクラスプロパティを設定したいと思います。どのインスタンスでもプロパティを設定できるはずです。
私は次のことを試しました:
class A:
x = 1
@classmethod
def setX(cls, val):
if cls.__bases__:
cls = cls.__bases__[-1]
cls.x = val
これは、単一継承の場合に正常に機能するようです。しかし、継承の順序に応じて、多重継承を使用する場合、それは機能するか機能しないかのどちらかです(つまり、クラスAは常に最後の塩基であるとは限りません)。
堅牢な実装のためのアイデアはありますか?