問題タブ [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 - PyCharmにパラメータが期待される型をどのように伝えることができますか?
コンストラクター、代入、およびメソッド呼び出しに関しては、PyCharm IDE はソース コードを分析し、各変数がどのような型であるべきかを判断するのに非常に優れています。正しいコード補完とパラメーター情報が得られ、存在しない属性にアクセスしようとすると警告が表示されるので、私はそれが好きです。
しかし、パラメータに関しては何も知りません。コード補完のドロップダウンには、パラメーターの型がわからないため、何も表示されません。コード分析は警告を探すことができません。
これにはある程度の意味があります。他の呼び出しサイトは、そのパラメーターに何でも渡すことができます。しかし、私のメソッドがパラメーターの型が であると想定している場合、pygame.Surface
PyCharm に何らかの形でそれを示すことができるようにしたいのでSurface
、コード補完ドロップダウンで のすべての属性を表示し、次の場合に警告を強調表示できます。間違ったメソッドを呼び出すなど。
PyCharm にヒントを与えて、「psst、このパラメーターは型であるはずです」と言う方法はありますX
か? (あるいは、動的言語の精神では、「このパラメーターは "のように鳴らX
なければならない? 私はそれでいいでしょう。)
編集:以下の CrazyCoder の回答でうまくいきます。簡単な要約が必要な私のような初心者のために、ここにそれがあります:
関連する部分は@type peasant: Person
、docstring の行です。
また、[ファイル] > [設定] > [Python 統合ツール] に移動し、[Docstring 形式] を [Epytext] に設定すると、PyCharm の [ビュー] > [クイック ドキュメント ルックアップ] は、すべての @ 行をそのまま印刷するのではなく、パラメーター情報をきれいに印刷します。
python - 指定された型のコレクションをヒントする型
Python 3 の関数注釈を使用すると、PyCharm や他の IDE での型ヒントの目的で、同種のリスト (または他のコレクション) に含まれる項目の型を指定できますか?
int のリストの擬似 python コード例:
Docstringを使用して可能であることは知っています...
...しかし、可能であれば注釈スタイルを好みます。
python - Python 型ヒント構文はどのように/なぜ機能するのですか?
PEP 484で次の例を見たところです。
予想どおり、これは Python 2 では機能しません。
ただし、Python 3 では機能します。
これは予想外でした。次の例でわかるように、実際には型をまだチェックしていません (実行されますが、例外はスローされません)。
の後に:
関数の名前を指定する必要があるように見えますが、関数は無視されているようです。
の後の名前も同様のようです->
。
この型ヒンティング構文は何か他のものを使用していますか (Java モデリング言語がコメントを利用するなど)? この構文はいつ Python に導入されましたか? この構文で既に静的型チェックを行う方法はありますか? Python 2 の互換性は常に失われますか?
python - Python でどのように型のエイリアスを作成しますか?
一部の (主に関数型の) 言語では、次のようなことができます。
また
次のようなものを構築できるようにします。
Pythonでこれを行う方法はありますか? クラスを使うこともできますが、Python にはかなり機能的な側面があるので、もっと簡単な方法でできないかと思っていました。
python - 型ヒント: 循環依存を解決する
以下は を生成しNameError: name 'Client' is not defined
ます。どうすれば解決できますか?