2017-08-08 3 views
0

私はクラス作成で練習しています。以下のコードでは、customer1の詳細を印刷したいと思います。私は前に謝った...私はこれが非常に基本的だと確信していますが、顧客1の詳細を印刷することはできませんか?私はすぐにここで見ることができます顧客クラスを作成する - 詳細を印刷することはできませんか?

class customer(): 

    def _init_(self, Fname, Sname, age, post_code, party_size, return_customer): 

     self.Fname = Fname 
     self.Sname = Sname 
     self.age = age 
     self.post_code = post_code 
     self.party_size = party_size 
     self.return_customer = return_customer 

    def print_detail(): 

     print(self.Fname) 
     print(self.Sname) 
     print(self.age) 
     print(self.post_code) 
     print(self.party_size) 
     print(return_customer) 


def create_customer(): 

    customer1 = customer('David', 'Lamb', '28', 'SA20GB', '3', 'Y') 


create_customer() 
+0

をあなたはprint_detail' –

+0

ああ 'を呼び出すことはありませんおかげで、今で呼び出し、それは – David

+0

NameErrorが言うことを私が追加されました定義されている – David

答えて

1

いくつかのこと:

def _init_(self, Fname, Sname, age, post_code, party_size, return_customer): 

__init__は特別な名前で、あなたのクラスのメソッドがselfを自動的に渡された2つのアンダースコア

def print_detail(): 

が必要ですこれを含める必要があります。

 print(return_customer) 

この行には、前の行と同じようにselfリファレンスが必要です。

def create_customer(): 

    customer1 = customer('David', 'Lamb', '28', 'SA20GB', '3', 'Y') 


create_customer() 

customer1.print_detail()に電話することはありません。全てにおいて

次のように、あなたの最終的なコードは次のようになります。名「print_detail」ではありません。

class customer(): 
    def __init__(self, Fname, Sname, age, post_code, party_size, return_customer): 
     self.Fname = Fname 
     self.Sname = Sname 
     self.age = age 
     self.post_code = post_code 
     self.party_size = party_size 
     self.return_customer = return_customer 

    def print_detail(self): 
     print(self.Fname) 
     print(self.Sname) 
     print(self.age) 
     print(self.post_code) 
     print(self.party_size) 
     print(self.return_customer) 


def create_customer(): 
    customer1 = customer('David', 'Lamb', '28', 'SA20GB', '3', 'Y') 
    customer1.print_detail() 

create_customer() 
+0

素晴らしい、私はあなたの助けに非常に素晴らしいです!私はこのサイトを多く使ったことはありません!どのように私は感謝を示すのですか?好きなオプションなどがありますか?もう一度ありがとう – David

+0

心配@ダビッド、喜んで助ける。私の答えの左側には、矢印(答えを上下に投票させる)と目盛り(答えを「正しい」とマークすることができます)が表示されます。 – asongtoruin

関連する問題