*args および kwargs を持つ呼び出し可能な型注釈は、コンテナ内のコンテンツ型に焦点を当てる。Python は、kwargs のキーが文字列でない場合、TypeError を発生させる。Unpack 演算子は、特定のパターンに従ってキーワード引数の型ヒントを許可する。ただし、型注釈は、静的解析のための型チェッカーによって主に使用されるものであり、ランタイムの適用強制ではない。したがって、引数の型が不正またはキーワード引数が不足または余分にある場合、ランタイムエラーが発生しない。Python のランタイム型評価は、isinstance や issubclass などの関数に依存している。typing モジュールは、外部ツールの型チェッカーや IDE によって静的解析に使用される。Unpack を使用して、TypedDict を使用して kwargs の内容を型ヒントすることができる。型ヒントが不正でもランタイムエラーは発生しない。Python の型システムは、ランタイム型チェック機構とは異なる。
daniel.feldroy.com
Daniel Roy Greenfeld: Unpack for keyword arguments
