我在mypy
文件夹中创建了一个课程:
class Shape:
def __init__(self,x,y):
self.x = x
self.y = y
def area(self)
return self.x * self.y
如果我这样做:
import sys
sys.path.append('mypy')
import Shape
test = Shape(2,4)
我收到错误:
'module' object is not callable
如果我在ipython
中定义类并调用它,一切正常。
答案 0 :(得分:0)
在IPython中,提示符像单个模块一样工作,然后如果你定义一个类并尝试从中创建一个对象,就像在test = Shape(2,4)中一样,因为你处于类定义的同一个命名空间。当您导入模块Shape时,它也有一个名为Shape的已定义类,您必须为类定义提供完全限定名称,如:
import Shape
test = Shape.Shape(2,4) # test = Module.Class()