次の 2 つのクラスを検討してください。
class A(object):
name = "A"
class B(A):
name = "Child of " + A.name
単純。A.name「A」になり、「AのB.name子」になります。
しかし、の の定義にハード コードA.nameするのは間違っているようです。私は自然に次のようなものを書きたいです:Bname
class B(A):
name = "Child of " + super(B).name
しかし、それは式でまだ定義されていないNameErrorwithを発生させます。(また、それが他のものであるべきかどうかはわかりませんが、 .)Bsuper(B)super(B)super(B, B)NameError
これを行う正しい方法は何ですか?つまりsuper、クラス属性の定義で使用しますか?