問題タブ [mypy]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ラウンド () の戻り型
次のコードがあります。
round() の戻り値が int とみなされていることがわかります。2 番目のステートメントで mypy が不平を言うので、これがそうであると結論付けます。
Python 3.5 を使用しているので、float にする必要があります。何が欠けていますか。Python のバージョンについて何らかの形で mypy にヒントを与える必要がありますか? どのように正確に?
python - mypy がこの拡張代入をエラーと見なすのはなぜですか?
ファイルtest.pyに次のコードがあります。
コンソール出力:
使用した Mypy バージョン: 0.4.4
3行目が正しくて7行目が間違っているのはなぜですか?
後で編集:
この動作は現在、mypy のバグとして分類されています。
https://github.com/python/mypy/issues/2098
そのため、将来的には両方のステートメント シーケンスが mypy に受け入れられることが期待されます。
python - mypy スプリアス エラー:「モジュール」には etree の属性「XPath」がありません
LXMLライブラリをmypy
使用してXMLを解析するコードで型チェックを行うために使用しようとしています。
を使用する各行でetree.XPath
、 から偽のエラーが発生しmypy
ます。たとえば、次の簡単なスクリプト
エラーを生成します
しかし、スクリプトは正常に実行され、 myXPath
は実行時に正しく動作します。
また、そのライブラリをタイプチェックしないように#type:ignore
指示するかもしれないと思ったインポートも試しましたが、エラーは抑制されませんでした。mypy
etree.XPath
への呼び出しを型注釈を持たない別の関数に 移動することで、いくつかのエラーを抑制することに成功しましたが、それはハックのように見え、コードを厄介な方法で配置することを余儀なくされました。
etree.XPath
これらの偽のエラーを完全に抑制する方法があるかどうか、または関数が存在することを示唆する方法があるかどうかを知りたいです。
明確にするために、ライブラリmypy
から出てくる構造の正しい型を知っているかどうかは実際には気にしません。lxml
私は、解析された情報を押し込んでいる自分のクラスに型情報を入れることにもっと関心があるので、etree.XPath
クエリを実行し、データを見つけて、型に押し込むために使用する型チェックされた関数が必要です-私のスクリプト内で定義されている注釈付きクラス。
mypy
の他の関数に問題があるようには見えませんetree
。たとえば、への呼び出しには問題ありませんetree.parse
現在mypy
0.4.4を使用しています
python - MyPy の正規表現パターン タイプを取得するにはどうすればよいですか
正規表現をコンパイルすると
そして、その正規表現を関数に渡し、Mypy を使用して型チェックを行いたい
私はこの問題に遭遇しています
インポートできるようです_sre
が、何らかの理由SRE_Pattern
でインポートできません。
python - Mypy「クラスモジュール」注釈
load_config
Python モジュールをロードして返す関数があります。
このスニペットは<class 'module'>
.
load_config
Mypy で戻り値に注釈を付けるにはどうすればよいですか?
python - タイプを明示的にリストせずに、引数が同じタイプであることを確認するにはどうすればよいですか?
両方の引数が同じ型である限り、任意の型の 2 つの引数を受け入れる関数が必要であると仮定しましょう。mypyで静的にチェックするにはどうすればよいですか?
関数が既知の型の有限量を受け入れるだけでよい場合は、次のように簡単です。
このコードでは、 mypy は への引数f
が 2 つint
の 、2 つstr
の 、または の 2 つのリスト、int
または を返す引数ゼロの 2 つの関数であることを確認できint
ます。
しかし、事前に型がわからない場合はどうなるでしょうか。let f (a:'t) (b:'t) = ()
F# や OCamlに似たものが必要な場合はどうすればよいでしょうか? 単純に書くと有効なT = TypeVar('T')
ようになりますが、これは私たちが望んでいることではありません。f(1, "2")
python - Python 3で引数の説明と型ヒントを組み合わせることは可能ですか?
Python 3 では、関数パラメーターに説明を追加できます。
また、後で確認できる予想されるタイプを指定することもできますmypy
。
どちらも私の目には非常に便利です-両方を組み合わせてmypy
一貫性をチェックできる方法はありますか?
python - Python ランタイム型チェック
ある関数の出力と別の関数の入力の間の型の互換性を確認したいと思います。mypy が静的な型チェックを行うことは知っていますが、python から実行しても何も見つかりませんでした。これが私がやろうとしていることの例です:
typegaurdと呼ばれる小さな github プロジェクトを見つけましたが、これは似たようなことをしているように見えますが、作業中のコードに小さなサードパーティ ライブラリを使用するのは本当に気が進まないのです。これを行う最もクリーンな方法は何ですか? 標準ライブラリまたは MyPy に組み込まれていて、直接使用できるものはありますか?