2013-08-30 14 views
14

子クラスのself.xの値にアクセスしたいと思います。どのように私はそれにアクセスするのですか?子クラスのスーパークラス変数にアクセスするPython

class ParentClass(object): 

    def __init__(self): 
     self.x = [1,2,3] 

    def test(self): 
     print 'Im in parent class' 


class ChildClass(ParentClass): 

    def test(self): 
     super(ChildClass,self).test() 
     print "Value of x = ". self.x 


x = ChildClass() 
x.test() 
+1

をところで、あなたは質問にあなたのエラーのトレースバックを編集することができますか?それは、この問題がスーパークラスや子クラスに何もないため、将来のGoogle社員にとってこの質問をより適切にするのに役立ちます。 –

+0

タイトルを "子クラスからスーパークラスのインスタンス変数にアクセスする"と言いましょう。 Pythonのクラス変数とインスタンス変数には違いがあります。 – Sean

答えて

13

スーパークラス変数に正しくアクセスしました。あなたのコードは、あなたがそれをどのように印刷しようとしたかのためにエラーを出します。 +の代わりに.を文字列連結に使用し、文字列とリストを連結しました。次のいずれかにライン

print "Value of x = ". self.x 

を変更します。

print "Value of x = " + str(self.x) 
    print "Value of x =", self.x 
    print "Value of x = %s" % (self.x,) 
    print "Value of x = {0}".format(self.x) 
3
class Person(object): 
    def __init__(self): 
     self.name = "{} {}".format("First","Last") 

class Employee(Person): 
    def introduce(self): 
     print("Hi! My name is {}".format(self.name)) 

e = Employee() 
e.introduce() 

Hi! My name is First Last

関連する問題