__init__ と __call__ の違いは何ですか? [重複] 質問する

__init__ と __call__ の違いは何ですか? [重複] 質問する

__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__

おすすめ記事