宣言されたパラメーターと実際の引数の矛盾、および誤った引数 (名前付き引数の重複など) と誤った引数の順序を報告します。
例:
class Foo:
def __call__(self, p1: int, *, p2: str = "%"):
return p2 * p1
bar = Foo()
bar.__call__() # パラメーターが入力されていません
bar(5, "#") # 予期しない引数
正しいコードフラグメントは次のようなものです。
class Foo:
def __call__(self, p1: int, *, p2: str = "%"):
return p2 * p1
bar = Foo()
bar.__call__(5)
bar(5, p2="#")