型ヒント(__annotations__
)で注釈付けされた別のPython関数を受け入れる関数があります。私はこれらのヒントを使用して、実行時に型チェックをしたいと考えています。問題は、タイプ入力モジュールの型クラスは、(isinstance、issubclassがなくても)使いやすいとは思われません。ですから、私はそれをタイプのオブジェクトに変換し、タイプヒントから型を比較するのにmypy.subtypes.is_subtype
を使用する方法があるのだろうか?Python型から型を比較する
答えて
簡単な答えは簡単な方法はありません。 typing
モジュールは、設計上、実行時のチェックに多くの助けを与えることはありません。 PEP 484は、コード 世代このPEPは、(いくつかの状況では、おそらく)型注釈のための標準的な構文を提供することを目指して、より簡単に静的解析とリファクタリングに 開放Pythonコード、 潜在的な実行時の型チェック、および
を語りますタイプ情報を利用する。
これらの目標のうち、静的解析が最も重要です。これには、
mypy
のようなオフラインタイプのチェッカーのための のサポートと、コード補完のためのIDEと リファクタリングのためにIDEによって使用される標準表記を と提供することが含まれます。非目標
提案
typing
モジュールは、実行時の型チェックのためのいくつかの建物 ブロック含まれていますが - 特定を実装するサードパーティ製のパッケージが に開発しなければならないであろう - 特にget_type_hints()
機能を実行時の型チェック機能。例えば、 デコレータやメタクラスを使用します。パフォーマンスのためのタイプヒントの使用 の最適化は、読者の練習として残されています。
はい、私の質問はランタイムの型チェックに 'mypy'を使う方法です。 'typing'はそれを提供するのではなく、' mypy'をコードにプラグインしてその機能を使う方法を理解していますか? – Mitar
- 1. Pythonのデータ型の比較
- 2. 比較プリミティブ型
- 3. 比較型IDポインタ
- 4. SQLAlchemy型デシレータと比較エラー
- 5. C#オブジェクト型の比較
- 6. ハスケルでの型比較
- 7. double型の値の比較
- 8. カスタムデータ型とパラメータの比較
- 9. PreparedStatementのBLOB型の比較
- 10. RPGLE-CLデータ型の比較
- 11. javaで列挙型を比較する
- 12. Pythonで列挙型を比較するには?
- 13. int型の値をJavaの別の型と比較する
- 14. z3pyデータ型/列挙型を文字列と比較する
- 15. DATE型のバリデータを比較します
- 16. 比較を使用しないデータ型の比較
- 17. 列挙型の値を比較
- 18. PictureboxからSQLへの比較Imageデータ型
- 19. プリミティブ型の値を比較するライブラリはありますか?
- 20. Pythonのさまざまな型と変数の比較
- 21. 抽象型との型のvalメンバーのスカラの比較
- 22. 明示的な型と明示的な型の比較 - C#
- 23. 型クラスメソッドのスコープ付き型変数とスタンドアロン関数の比較
- 24. ラッパー型とパス型の比較パラメータの長いリスト
- 25. SQL Serverはntext型、テキスト、XML、またはimageデータ型の比較
- 26. vtkデータ型と基本データ型の比較
- 27. Scalaの数値型との比較?
- 28. Swiftのリファレンスと値の型の比較
- 29. mypyと比較可能な型
- 30. コード内の「無効な型の比較」
'inspect'モジュールが役に立ちます。 – stamaimer