2017-08-17 13 views
-3

私は派生クラスで基本クラスからクラス変数にアクセスしようとしていると私はノーAttributeErrorパイソン:アクセスベースクラス「クラス変数」派生クラスで

class Parent(object): 
    variable = 'foo' 

class Child(Parent): 
    def do_something(self): 
     local = self.variable 

を取得しています私はとしてそれを使用してみましたParent.variableでもそれはうまくいかなかった。私はあなたが間違ってやっているかわからないんだけど、この

+3

(http://ideone.com/79GXNu) – user2357112

+0

問題をより明確に記述してください。上記のコードサンプルは上手く見えます。また、Pythonクラスの継承は、ここでStackOverflowでよくカバーされています;) – Connor

+0

コードとエラーが一致しません。あなたが示したコードでは、変数 'attrbiute 'を使っていますが、Pythonは' Child variable'という名前を見つけることができません。 _verbatim_を使用している_actual_コードを投稿してください。 –

答えて

0

を解決するにはどうすればよい同じエラー AttributeError: 'Child' object has no attribute 'Child variable'

を取得しています。ただし、以下のコードでは、初期化メソッドがあることを前提としています。

class Parent(object): 
     variable = 'foo' 

    class Child(Parent): 
     def __init__(self): 
      pass 
     def do_something(self): 
      local = self.variable 
      print(local) 

    c = Child() 
    c.do_something() 

出力:

foo 
0

以下に示すコードは、Python 2 & 3の両方で動作するはず:[再生することはできない]

class Parent(object): 
    variable = 'foo' 

class Child(Parent): 
    def do_something(self): 
     local = self.variable 

c = Child() 

print(c.variable) # output "foo"