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