2016-01-06 323 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__