1
class A(object):
    class B(object): pass
    class C(A.B): pass

結果は

NameError: name 'A' is not defined

Binから継承するにCはどうすればよいですか? それらが隣接しA、両方とも(内部クラス)にネストされている場合

4

1 に答える 1

4

Aクラス本体の実行が完了するまで使用できません。

「ローカル」名を参照できます。クラス本体は関数として実行され、その関数のローカル名前空間を使用してクラス属性が提供されます。クラス本体内でBは、ローカル名です。

class A(object):
    class B(object): pass
    class C(B): pass
于 2013-07-30T14:02:00.760 に答える