PyCharmを使用している場合、np.array(0.0)
と記述すると、Pycharmのコードスタイルインスペクションでエディターに_Expected type 'Union[ndarray, Iterable]', got 'float' instead
_という警告が表示されます。 np.array([0.0])
と書いても警告は出ません。
コーディングするとき
_from scipy.special import expit
expit(0.0)
_
_Expected type 'ndarray', got 'float' instead
_を取得している間
_expit(np.array([0.0]))
_
それを解決します。
Pycharmのコードスタイルインスペクションでタイプエラーが発生する可能性があることを教えてほしいと思いますが、良いプログラミングという意味でそれにどう対応すべきかわかりません。 PyCharmは私を叱る権利がありますか?長いバージョンを使用する必要がありますか?または、読みやすさとコーディングの速度のために短いバージョンを保持する必要がありますか?
コードを長いバージョンに変更するべきではない場合-Pycharmのコードスタイル検査の警告を取り除くことはできますか、それとも悪い考えです。それらは他の場合には正しい可能性があり、警告を調整することができないためです。具体的には?
expit関数の仕様 を見てください。スカラー引数を提供することが許可されているとは何も言われていません-numpy.ndarray
。 PyCharmは、反復可能(したがってリスト)が受け入れ可能であることを伝えるのに十分スマートですが、このメッセージは警告ではありません-記述されているコードが関数の仕様を満たしていないことを示しています。 @JonClementsがコメントで指摘しているように、numpy
のスカラーブロードキャスト機能はこのコードの実行を許可しますが、PyCharmはこれを推測するほどスマートではありません。
注:@ cs95からの回答は、型チェックを無効にする方法を説明しており、受け入れられた回答としてより適切な場合があります。
PyCharmは、ソースコードのタイプヒントから、渡した引数が正しくないと判断します。
あなたの質問は、この型チェックを無効にする方法を理解することの1つを単純化します。あなたはこのようにそれを行うことができます:
Settings/Preferences
に移動
サイドバーでInspections
をクリックします
Python
タブを展開します
Type Checker
までスクロールして、チェックを外します
PyCharmは、不正な関数引数に関する警告の発行を停止する必要があります。
@brunoddが以前コメントで言ったように、チェックを外す正しいタグはType checker
です。
Settings/Preferences
(Ctrl + Alt + S
)に移動しますInspections
Python
タブType Checker
をオフにしてApply
を押しますこれは本当に厄介なことですが、PyCharmは正しいとしてもいくつかのタイプを識別できません。