0

次のコードを使用しました

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。理由は何ですか?

4

2 に答える 2

1

2 番目のdef再宣言__init__メソッド。Python では、メソッドをオーバーロードできません。

于 2013-11-03T13:46:16.857 に答える
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() 
于 2013-11-03T13:46:40.587 に答える