問題タブ [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 - 引用符で囲まれた mypy の明示的な型ヒントでも、定義されていないエラーが発生します
私は次のことをしようとしています:
サイクルが発生するため、ノードをインポートできません。だから私はここで述べたように引用符でそれを書きます http://mypy.readthedocs.io/en/latest/common_issues.html#import-cycles しかし、私はまだ次のエラーが発生します
これに対する解決策はありますか?
ありがとう!
python - 型ヒントで関数型を指定するにはどうすればよいですか?
現在の Python 3.5 プロジェクトで型ヒントを使用したいと考えています。私の関数は、関数をパラメーターとして受け取る必要があります。
型ヒントで型関数を指定するにはどうすればよいですか?
PEP 483を確認しましたが、関数型のヒントが見つかりませんでした。
python - 型付けモジュールを使用するときに型の互換性を確認するにはどうすればよいですか?
Python PEP484 型ヒントを使用して、Python で作成した DSL の型チェッカーを作成しています。T
引数の 1 つにtype を期待する関数があり、それが type の式で呼び出されているS
場合、呼び出しが有効かどうかを確認するにはどうすればよいですか? 使用量はissubclass(S, T)
足りていますか?もしそうなら、なぜそのmypy
ような複雑なis_subtype
チェックがあるのですか? それとも、そのままのmypy
バージョンを使用する必要がありますか?
編集:これは、私が何を意味するかを明確にするための例です。DSL には、次のように定義された関数があります。
次に、ユーザーが構文ツリーに解析される式を入力します。分岐は次のようになりますnode = OperatorNode('+', Literal([5.0]), Variable("abc"))
。変数の値はまだわかりませんabc
が、リストは では使用できないため、ユーザーに警告+
するために a を発生させたいと考えています。TypeError
もしそうならissubclass(typing.List[float], var)
、それは私に False を与えるので、すぐにエラーを発生させることができます. 私の質問は、DSL を構築するときにこのチェックがケース全体で機能することが保証されているかどうか、または次のようなより複雑なチェックを使用する必要があるかどうかです。mypy
python - mypyを使用してgroupby結果でnext()の使用をタイプチェックする方法は?
プロジェクトでいくつかの utils 関数に対して mypy を試していますが、groupby と next を組み合わせたこの関数に問題があります。
これは関数コードです:
を推測できないというエラーが表示され続けますtype argument 1 of "next"
:
ここの型を推測できないという意味だと思いg
ますよね?
これが私の型注釈または の型注釈の問題であるかどうかを理解するのに苦労していgroupby
ます。
参考までに、これはの型注釈ですgroupby
。
したがって、これは、「groupby は T 型の iterable を受け取り、2 つの項目を含むタプルのイテレーターを返す (T 型の 1 つの項目、T 型のオブジェクトのイテレーター)」ことを意味します。next
私には良さそうに見えますが、 mypy はasの最初の引数を推測できるはずIterator[Tuple[Any, Iterator[Any]]]
ですよね?
私は何が欠けていますか?
python - Mypy: 署名の推論はありませんか?
Mypy は署名を推測するために何もしていないようです。あれは正しいですか?例えば:
私がこれを行うとき、苦情はありません:
f
Mypy は(if--check-untyped-defs
がオンになっている場合)の本体内の式について推論します。それを使用して署名に関する推論を行い、適用することが理にかなっているのかどうか疑問に思っています。(そうでない場合は、なぜですか。)
python - Mypy Python 2は、文字列値ではなくUnicode値を主張します
Python 2 は、状況によっては暗黙的に に変換str
されます。この変換は、結果の値で何をしようとしているかによって、 をunicode
スローすることがあります。UnicodeError
正確なセマンティクスはわかりませんが、避けたいものです。
この暗黙の変換を使用するプログラムを引き起こすために、別のタイプまたは( http://mypy-lang.blogspot.co.uk/2016/07/mypy-043-released.htmlunicode
) に似たコマンドライン引数を使用することは可能ですか?タイプチェックに失敗するには?--strict-optional
この例では、関数のみreturns_string_not_unicode
が型チェックに失敗しています。
両方とも型チェックに失敗することを望みます。
編集:
type: () -> byte
と同じように扱われているようです。str
python - mypy「無効なタイプ」エラー
現在のプロジェクトに型注釈を実装しようとしていますが、mypy から理解できないエラーが発生しています。
私は Python 2.7.11 を使用しており、ベースの virtualenv に mypy を新しくインストールしました。次のプログラムは正常に実行されます。
しかし、実行mypy --py2 -s mypy_issue.py
すると次のように返されます。
上記のタイプは Typeshed にあるようです... mypy のドキュメントには、「Mypy には、Python ビルトインと標準ライブラリのライブラリ スタブを含む typeshed プロジェクトが組み込まれています。」と記載されています。 Typeshed を「アクティブ化」する、またはパスを提供するために何かをするには? Typeshed をローカルにダウンロードしてインストール (?) する必要がありますか?
python - mypy で typeshed を使用するには?
typeshed のクローンを作成しましたが、mypy に含まれているタイプ ヒントを使用するように指示する方法がわかりません。mypy --help にオプションがありません。mypy リポジトリには typeshed リポジトリへの参照が含まれていますが、pip インストールではダウンロードされません。