2012-09-28 30 views
0

我蟒蛇初學者和有問題..的Python:在類的函數返回的項目列表

我有一個類函數看起來像:

class Example(A): 
    def __init__(self, ID, name, products, itemlist): 
     A.__init__(self, itemID, name) 
     self.products = products 
     self.itemlist = itemlist 
    def get_items_list(self): 
     return self.itemlist 

假設我已經寫

Example('SomeID', 'Somename', products, [('a', 1), ('b', 1), ('c', 1)]) 

然後當我做

get_items_list() 

我的代碼返回

bound method Compound.get_items_str of SomeID, Somename, <__main__.Products object at 0x102d2e4d0>> 

,而不是我提供的項目列表...

任何答案會如此讚賞,併爲我的錯誤的藉口。

+2

你在這裏提出的代碼不能產生你得到的錯誤。也就是說,在您的實際代碼中,您可能會在方法調用中遺漏parens。 –

+2

當然這應該產生:'NameError:名字「get_items_list」不是defined' ... –

+0

通過什麼ITEMID傳遞給一個初始化的方法是什麼?在你向我們展示的代碼中,它根本沒有聲明。 – Gandi

回答

2

它看起來像你沒有調用這個方法就像這個問題。

檢查你的代碼,看看是否有

youclass.get_items_list 

代替

yourclass.get_items_list() 
+0

或類似的問題'get_items_list()'(!) –

+0

呵呵?你什麼意思?如果沒有前面的例子,你不能調用這個函數。 – aschmid00

+1

不起作用,並不意味着什麼。請解釋你想做什麼,並顯示你所有的代碼。 – aschmid00

1

試圖把它這種方式:

>>> example_instance = Example('SomeID', 'Somename', products, [('a', 1), ('b', 1), ('c', 1)]) 
>>> example_instance.get_items_list() 

通過我建議找路進入Python documentation about classes