2016-01-06 318 views
-1

我遇到了python 3,類和構造函數的問題。我有我的課:構造函數返回我無類型而不是類類型

class Menu: 
    def __init__(self, store): 
     self.store = store 

    # other code 

,當我創建一個對象

menu = Menu(store) 

變量menu是無類型,而不是菜單類型。 任何人都可以幫助我嗎?

+7

不能重現,類型是''。 – vaultah

+2

我會冒險猜測'#其他代碼'與此有關,或者你的測試被搞砸了...... – deceze

+3

就目前而言,你的錯誤是無法複製的。請提供您產生錯誤的所有必要代碼。如果您的代碼太大,請提供一個能夠生成它的最小示例。 – Reti43

回答

2

心理調試:假設你沒換過別的Menu的東西完全不一樣的地方,你在你的# other code定義上Menu一個__new__,你無法從__new__返回一個新創建的對象;因此,__new__返回None,並且您實際上不構建任何內容。

通常,您不需要在Python中的用戶定義類上同時使用__new____init__;只需要在__init__中完成所有的初始化工作並擺脫__new__