类实例化 - 多态 - Python

时间:2013-11-03 13:45:05

标签: python class instantiation

我使用了以下代码

class FooBar:
    def __init__(self):
        self.x = 0
        self.y = 0

    def __init__(self, x, y, z):
        self.x = x
        self.y = y
        self.z = z

我将上述内容保存在FooBar.py

当我使用时,

import FooBar
p = FooBar() 

错误说module object not callable。是什么原因?

2 个答案:

答案 0 :(得分:1)

第二次def重新声明__init__方法。在python中,你不能重载方法。

答案 1 :(得分:1)

因为您导入的FooBar是模块,而不是类。

替换:

import FooBar

使用:

from FooBar import FooBar

或者,如果您愿意,请使用:

import FooBar
# First FooBar is the module, second is the class within the module.
p = FooBar.FooBar()