2010-09-22 43 views
0

我試圖創建一個名爲Record的類,但是當我嘗試使用它時,出現了一些問題。我確定我可以俯視簡單的東西。有人介意看看嗎?有問題的類

 class Record: 
      def __init__(self, model): 
       self.model= model 
       self.doc_date = [] 
       self.doc_pn = [] 
       print("Record %s has been added.\n") % self    
      def add_doc_date(self, declaration_date): 
       self.doc_date.append(declaration_date) 
      def add_doc_pn(self, declaration_pn): 
       self.doc_pn.append(declaration_pn) 
      def __str__(self): 
       res = "Name: " + self.model + "\n" 
       res = res + "Standard Part Numbers:" + str(self.std_pn) + "\n" 
       res = res + "Declaration Part Numbers" + str(self.doc_pn) + "\n" 
       return res 
+1

您能告訴我們(1)您是如何嘗試使用該類的(2)出了什麼問題? – 2010-09-22 12:44:18

+8

問題是有一些錯誤 – 2010-09-22 12:46:43

+0

我試圖創建一個類來存儲數據時提供以下數據:模型號,聲明號和聲明日期。 編號喜歡能夠調用每個單獨的模型,通過它們的編號來查看它們包含的聲明編號和日期 – user428370 2010-09-22 12:50:15

回答

1
class Record: 
    def __init__(self, model): 
     self.model= model 
     self.doc_date = [] 
     self.doc_pn = [] 
     self.std_pn = [] 
     print("Record %s has been added.\n") % self 
    def add_doc_date(self, declaration_date): 
     self.doc_date.append(declaration_date) 
    def add_doc_pn(self, declaration_pn): 
     self.doc_pn.append(declaration_pn) 
    def __str__(self): 
     res = "Name: " + self.model + "\n" 
     res = res + "Doc Date:" + str(self.doc_date) + "\n" 
     res = res + "Standard Part Numbers:" + str(self.std_pn) + "\n" 
     res = res + "Declaration Part Numbers" + str(self.doc_pn) + "\n" 
     return res 

>>> t=Record("rec1") 
Record Name: rec1 
Doc Date:[] 
Standard Part Numbers:[] 
Declaration Part Numbers[] 
has been added. 

>>> t.add_doc_date("2010-10-10") 
>>> t.add_doc_pn("30") 
>>> print t 
Name: rec1 
Doc Date:['2010-10-10'] 
Standard Part Numbers:[] 
Declaration Part Numbers['30'] 

>>> 
+0

爲什麼你兩次發佈相同的答案? – katrielalex 2010-09-22 13:15:12

+0

抱歉,我想通過顯示 – amadain 2010-09-22 13:16:07

+1

的方法調用擴展代碼。您可以通過單擊左下方的「編輯」鏈接編輯以前的帖子。 – katrielalex 2010-09-22 13:35:28

7
res = res + "Standard Part Numbers:" + str(self.std_pn) + "\n" 

我沒有看到任何地方self.std_pn定義。