私はこれを行うことができます:派生クラスの基本クラスの属性を参照する方法は?
class Blah1:
atttr = 5
class Blah2(Blah1):
aa = atttr
ob = Blah2
print(ob.aa)
いや、私はできません:http://ideone.com/6HS1MO
を出してくれるので、私は私もこれを行うことが想定さ
class Blah2:
atttr = 5
aa = atttr
ob = Blah2
print(ob.aa)
を次のエラー:
Traceback (most recent call last):
File "./prog.py", line 5, in <module>
File "./prog.py", line 6, in Blah2
NameError: name 'atttr' is not defined
なぜこれは機能しないのですか?
これらのクラスのインスタンスを作成し、クラス自体の属性にはアクセスしないでください。 –
なぜこれを行う必要がありますか?あなたは、「Blah2」と「Blah1」は*クラス*で、インスタンス*ではないことに気付いていますか?インスタンスはクラスではなく、親のフィールドを継承します –