2017-10-16 3 views
0

最後の関数(inquiry())でfatherの名前にアクセスしたいと思います。その名前はfather()関数にあります。 father()関数のname変数の値にアクセスするには?pythonの同じクラスの別のメソッドでmethodの変数の値を呼び出してください

class family(object): 
    def __init__(self,members,surname): 
     self.members=members 
     self.surname=surname 
    def father(self,name,occupation): 
     self.name=name 
     self.occupation=occupation 
    def mother(self,name,occupation): 
     self.name=name 
     self.occupation=occupation 
    def children(self,numbers): 
     self.numbers=numbers 
    def enquiry(self): 
     print("The name of the father is "self.father(name)) 

family(4,'vora') 
family.father('john','business') 
family.enquiry() 
+0

あるfamiliyメンバークラスの代わりに、機能 –

+0

を作るしかし、私のように値にアクセスすることはできませんので、あなたは間違いなくメンバーのP私の助言を取る必要があります質問で尋ねた? – heartySteam

+0

あなたは、以下の答えを見ることができます。私自身は、より多くのカプセル化を好み、クラスファミリーを紹介しますメンバー。 –

答えて

1

このコードは、あなたの構文エラーを訂正するが、これは醜い

class family(object): 
    def __init__(self,members,surname): 
     self.members=members 
     self.surname=surname 
    def father(self,name,occupation): 
     self.fathers_name=name 
     self.occupation=occupation 
    def mother(self,name,occupation): 
     self.mothers_name=name 
     self.occupation=occupation 
    def children(self,numbers): 
     self.numbers=numbers 
    def enquiry(self): 
     print("The name of the father is " + self.fathers_name) 

f = family(4,'vora') 
f.father('john','business') 
f.enquiry() 
+0

あなたの助けを感謝してください!! @ kaidokuuppa – heartySteam

+0

しかし、self.fathers_nameのように変数名が同じであれば、どのように使用するかはself.nameのままです。この文脈で関数名 "father"を使用してその変数を使用する方法は? – heartySteam

+0

@karan、私は自分自身でそれを試して何が起こっているかを見つけるための最良の方法だと思う。単に '' 'self.fathers_name = name'''と' 'self.mothers_name = name'''を' '' self.name = name'''に置き換えてください。このアプローチを使用すると、ファミリーオブジェクトには '' 'name''という名前しかありません。したがって、問い合わせの戻り値は、あなたが最後の父親または母親と呼んだどのメソッドに依存します。 – kaidokuuppa

関連する問題