問題タブ [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.
python - namedtuple にヒントを入力する
次のコードを検討してください。
上記のコードは、私が達成しようとしていることを示すための単なる方法です。namedtuple
型ヒントで作りたいです。
意図したとおりの結果を達成するためのエレガントな方法を知っていますか?
python - クラスを記述する型付けモジュールの型は? 関数を表す型は?
Python 3.5の新しいtyping
モジュールには、型注釈で使用するためのツールが多数用意されています。クラスの概念をカプセル化するオブジェクトまたはタイプを提供しますか? 関数の考え方はどうですか?
デコレータを定義する次のコードでは、何を表す必要がありclass_
ますか? 何を代弁する必要がありfunction
ますか? (typing.Callable
たとえば、クラスは呼び出し可能ですが、コードはメソッドを識別しようとしているため、不適切です。) (モジュールno_type_check()
内のデコレーターtyping
自体は、このように動作するデコレーターのプロトタイプである可能性があります。no_type_check()
それ自体には、注釈、タイプヒントはありません。もしくはそうでないか。)
python - numpy.ndarray の型ヒント/注釈 (PEP 484)
numpy.ndarray
特定のクラスの型ヒントを実装した人はいますか?
今は を使ってtyping.Any
いますが、もっと具体的なものがあればいいのにと思います。
たとえば、NumPy の人々がarray_likeオブジェクト クラスの型エイリアスを追加したとします。さらに良いことに、 dtypeレベルでサポートを実装して、他のオブジェクトとufuncがサポートされるようにします。
python - 型注釈に名前が定義されていません
私は現在、楽しみと言語の練習のために、python 線形代数モジュールの作成に取り組んでいます。私は最近、モジュールに型注釈を追加しようとしました。
ただし、これをインポートしようとすると、NameError: Name 'Vector' is not defined
. この質問はフォームで既に回答されていることを認めます ここ、しかし、私の状況に対する完全な回答を提供しているようには見えません.
知りたいこと:
- このファイルで文字通りクラスを定義しました。名前が定義されていないと言うのはなぜですか?
Vector
注釈に ( として) 使用できるように定義するにはどうすればよいtype
ですか?
python - Python void 戻り型アノテーション
Python 3.x では、次のような関数の戻り型の注釈を使用するのが一般的です。
「void」タイプの正しい注釈は何ですか?
私は3つのオプションを検討しています:
def foo() -> None:
None
型ではないため、論理 IMO ではありません。
def foo() -> type(None):
- を取得するために私が知っている最良の構文を使用して
NoneType
、
- を取得するために私が知っている最良の構文を使用して
def foo():
- 明示的な戻り値の型情報を省略します。
オプション 2. は私には最も論理的だと思われますが、すでに 1 の例をいくつか見てきました。
python - *args と **kwargs の型注釈
いくつかのインターフェイスを作成するために、抽象基本クラスを使用して Python の型注釈を試しています。と の可能なタイプに注釈を付ける方法は*args
あり**kwargs
ますか?
たとえば、関数への適切な引数が 1 つint
または 2 つint
の s であることをどのように表現しますか? 私の推測では、タイプに として注釈を付けることでしtype(args)
たが、これは機能しません。Tuple
Union[Tuple[int, int], Tuple[int]]
mypy からのエラー メッセージ:
tuple
呼び出し自体に a があることを期待しているため、mypy が関数呼び出しに対してこれを好まないのは理にかなっています。解凍後の追記もよくわからないタイプミス。
*args
との適切な型にどのように注釈を付けるの**kwargs
ですか?
python - Typing.Dict と dict の定義の違いは?
Python 3.5 で型ヒントを使って練習しています。私の同僚の1人が使用していますtyping.Dict
:
どちらも問題なく動作し、違いはないようです。
typing
モジュールのドキュメントを読みました。
プログラムでtyping.Dict
どちらdict
を使用する必要がありますか?
python - Python 3.5 型付けモジュールの PEP 484 の Type[T] が実装されていません。クラスの種類を確認するにはどうすればよいですか?
そのため、PEP 484 には「クラス オブジェクトのタイプ」セクションがあります。
このセクションでは、次のことが可能であるべきであると述べられています。
私はタイピングモジュールを使い始めたばかりです。私の問題は、タイプのヒントを見つけようとしたときに、それが見つからなかったことです。ソースコードやドキュメントのどこにもありません。
リリース ノートは、typing モジュールが PEP 484 を実装していることを示しています。不完全な実装の兆候はありません。現在のバージョンでこの種の型ヒントを作成する方法はありますか? それとも、今のところ不可能ですか?
ありがとう。