問題タブ [python-typing]

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.

0 投票する
1 に答える
1217 参照

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")

0 投票する
1 に答える
110677 参照

python - 複数の戻り値の型に注釈を付ける方法は?

タイプ ヒントを使用して、常に aと aIterableの 2 つの値を返す an を返す関数に注釈を付けるにはどうすればよいですか? ヒントは近いですが、戻り値の型をジェネレーターやその他の型の iterable ではなく、タプルに制限する点が異なります。boolstrTuple[bool, str]

foo()次のように複数の値を返すために使用される関数に注釈を付けたいので、私はほとんど興味があります。

通常、次のような関数foo()return a, b(タプルを返す) のようなことを行いますが、返されたタプルをジェネレーターやリストなどに置き換えるのに十分なほど柔軟な型ヒントが必要です。

0 投票する
1 に答える
23233 参照

python - (クラス インスタンスではなく) クラス オブジェクトである型に注釈を付ける方法は?

そのクラスのインスタンスではなくクラス オブジェクトを期待する関数の引数に注釈を付ける適切な方法は何ですか?

以下の例では、some_class引数は型インスタンス (クラス) であると予想されますが、ここでの問題は、それtypeが広すぎることです:

some_class特定のタイプ オブジェクトのセットが必要な場合は、使用typeしてもまったく役に立ちません。モジュールには、これtypingを行う Class ジェネリックが必要な場合があります。

上記の例でsome_classは、 はFooBarまたはFazクラスであり、そのインスタンスではありません。some_class: Class[Foo]有効なケースであるため、クラス ツリー内の位置は重要ではありません。したがって、

また

また

mypy、pytype、PyCharm などには問題ないはずです。

現在の実装 (Python 3.6 以前) でこれを行うにはどうすればよいですか?