問題タブ [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 投票する
3 に答える
58069 参照

python - namedtuple にヒントを入力する

次のコードを検討してください。

上記のコードは、私が達成しようとしていることを示すための単なる方法です。namedtuple型ヒントで作りたいです。

意図したとおりの結果を達成するためのエレガントな方法を知っていますか?

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

python - クラスを記述する型付けモジュールの型は? 関数を表す型は?

Python 3.5の新しいtypingモジュールには、型注釈で使用するためのツールが多数用意されています。クラスの概念をカプセル化するオブジェクトまたはタイプを提供しますか? 関数の考え方はどうですか?

デコレータを定義する次のコードでは、何を表す必要がありclass_ますか? 何を代弁する必要がありfunctionますか? (typing.Callableたとえば、クラスは呼び出し可能ですが、コードはメソッドを識別しようとしているため、不適切です。) (モジュールno_type_check()内のデコレーターtyping自体は、このように動作するデコレーターのプロトタイプである可能性があります。no_type_check()それ自体には、注釈、タイプヒントはありません。もしくはそうでないか。)

0 投票する
3 に答える
44186 参照

python - Python 2 の型ヒント

PEP 484では、typingモジュールを含めることで型ヒントが Python 3 に追加されました。Python 2でこれを行う方法はありますか? 私が考えることができるのは、メソッドにデコレーターを追加して型をチェックすることだけですが、これは実行時に失敗し、ヒントが許可するように早期にキャッチされません。

0 投票する
6 に答える
62285 参照

python - numpy.ndarray の型ヒント/注釈 (PEP 484)

numpy.ndarray特定のクラスの型ヒントを実装した人はいますか?

今は を使ってtyping.Anyいますが、もっと具体的なものがあればいいのにと思います。

たとえば、NumPy の人々がarray_likeオブジェクト クラスの型エイリアスを追加したとします。さらに良いことに、 dtypeレベルでサポートを実装して、他のオブジェクトとufuncがサポートされるようにします。

0 投票する
2 に答える
18986 参照

python - 型注釈に名前が定義されていません

私は現在、楽しみと言語の練習のために、python 線形代数モジュールの作成に取り組んでいます。私は最近、モジュールに型注釈を追加しようとしました。

ただし、これをインポートしようとすると、NameError: Name 'Vector' is not defined. この質問はフォームで既に回答されていることを認めます ここ、しかし、私の状況に対する完全な回答を提供しているようには見えません.

知りたいこと:

  • このファイルで文字通りクラスを定義しました。名前が定義されていないと言うのはなぜですか?
  • Vector注釈に ( として) 使用できるように定義するにはどうすればよいtypeですか?
0 投票する
2 に答える
79517 参照

python - Python void 戻り型アノテーション

Python 3.x では、次のような関数の戻り型の注釈を使用するのが一般的です。

「void」タイプの正しい注釈は何ですか?

私は3つのオプションを検討しています:

  1. def foo() -> None:
    • None型ではないため、論理 IMO ではありません。
  2. def foo() -> type(None):
    • を取得するために私が知っている最良の構文を使用してNoneType
  3. def foo():
    • 明示的な戻り値の型情報を省略します。

オプション 2. は私には最も論理的だと思われますが、すでに 1 の例をいくつか見てきました。

0 投票する
6 に答える
125305 参照

python - *args と **kwargs の型注釈

いくつかのインターフェイスを作成するために、抽象基本クラスを使用して Python の型注釈を試しています。と の可能なタイプに注釈を付ける方法は*argsあり**kwargsますか?

たとえば、関数への適切な引数が 1 つintまたは 2 つintの s であることをどのように表現しますか? 私の推測では、タイプに として注釈を付けることでしtype(args)たが、これは機能しません。TupleUnion[Tuple[int, int], Tuple[int]]

mypy からのエラー メッセージ:

tuple呼び出し自体に a があることを期待しているため、mypy が関数呼び出しに対してこれを好まないのは理にかなっています。解凍後の追記もよくわからないタイプミス。

*argsとの適切な型にどのように注釈を付けるの**kwargsですか?

0 投票する
3 に答える
97061 参照

python - Typing.Dict と dict の定義の違いは?

Python 3.5 で型ヒントを使って練習しています。私の同僚の1人が使用していますtyping.Dict

どちらも問題なく動作し、違いはないようです。

typingモジュールのドキュメントを読みました。

プログラムでtyping.Dictどちらdictを使用する必要がありますか?

0 投票する
0 に答える
123 参照

python - Python 3.5 型付けモジュールの PEP 484 の Type[T] が実装されていません。クラスの種類を確認するにはどうすればよいですか?

そのため、PEP 484 には「クラス オブジェクトのタイプ」セクションがあります。

このセクションでは、次のことが可能であるべきであると述べられています。

私はタイピングモジュールを使い始めたばかりです。私の問題は、タイプのヒントを見つけようとしたときに、それが見つからなかったことです。ソースコードやドキュメントのどこにもありません。

リリース ノートは、typing モジュールが PEP 484 を実装していることを示しています。不完全な実装の兆候はありません。現在のバージョンでこの種の型ヒントを作成する方法はありますか? それとも、今のところ不可能ですか?

ありがとう。