__init__
とメソッドの違いを知りたいです__call__
。
例えば:
class test:
def __init__(self):
self.a = 10
def __call__(self):
b = 20
ベストアンサー1
最初のメソッドは新しく作成されたオブジェクトを初期化するために使用され、そのために使用される引数を受け取ります。
class Foo:
def __init__(self, a, b, c):
# ...
x = Foo(1, 2, 3) # __init__
2番目は関数呼び出し演算子を実装します。
class Foo:
def __call__(self, a, b, c):
# ...
x = Foo()
x(1, 2, 3) # __call__