__init__出现错误,'module'对象不可调用。

8
我在创建我的模块并进行测试时,出现了错误。代码如下:
class test:
    def __init__(self,size,type):
        self.type = type
        self.size = size

当我导入模块后,当我键入以下内容时:
x=test(10,'A type')

It says:

TypeError: 'module' object is not callable

请帮助我。


可能是重复的问题:TypeError: 'module' object is not callable - Katriel
3个回答

32

你没有粘贴你的导入代码,但是我敢打赌你使用了

import test

如果你的文件名叫做test.py(顺便说一下,这个名字可能应该更具描述性),它导入了模块,所以对象会抱怨test是一个模块对象,并且无法调用。你可以通过调用来访问你的类

x = test.test(10, "A type")

或者你可以使用另一种方式

from test import test

之后

x = test(10, "A type") 

应该可以工作。


2

这种情况下不是问题,但如果你遇到这个错误,请确保你正确拼写了init。我曾经把int拼错了一个i,花了很长时间才发现。


0

我认为你有一个缩进问题。

尝试缩进 def。

class test:
    def __init__(self, size, type):
        self.type = type
        self.size = size

代码在源代码中已经正确缩进了,只是这位提问者在编写问题时没有正确格式化它(点击“编辑”查看源代码)。他应该进行更正。 - Levon
嗯,我看到有人现在修复了它。我想知道他是如何让解析器接受那个的。 - Jeffery Thomas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接