2016-04-29 9 views
3

Windows 10でPyCharm 2016.1とPython 2.7を使用していて、matplotlibモジュールをインポートしました。PyCharm - matplotlib(およびその他のインポートされたモジュール)の自動補完

matplotlibモジュールは非常に広範で、私はPythonには比較的新しいので、PyCharmのAuto Complete機能がオブジェクトの既存のプロパティー/機能の概要を知るのに役立つことを期待しました。毎回APIドキュメントを掘り起こし、どこを探して何を探したらいいかわからないので、もっと便利になるでしょう。例えば

:私はax.を入力すると軸のプロパティ、関数などのために何の自動補完がイストない

from matplotlib import pyplot as plt 
fig, ax = plt.subplots() 

、私は唯一の提案のリストを取得します。

は、私はすでに thisを試してみましたが、直接軸モジュールをインポート:

import matplotlib.axis as axis 

または

from matplotlib.axis import Axis as axis 

スマート自動完成と「実行時の型情報を収集」は既に有効になっています。

説明したように自動補完を有効にする方法はありますか、それをサポートする別のIDEがありますか?

答えて

1

私はあなたの問題は、ここで強調表示されていると信じて:

https://intellij-support.jetbrains.com/hc/en-us/community/posts/205816499-Improving-collecting-run-time-type-information-for-code-insight?sort_by=votes

Tldrの戻り値の型を変えることができ、それはコンパイル時に考え出したことカントなります。

import matplotlib.axes._axes as axes 

fig = plt.figure(figsize=(5,10)) 
ax1 = fig.add_subplot(3,1,1) 
assert isinstance(ax1, axes.Axes) 
ax1.set_xlabel('Test') 

この文句を言わない:

import matplotlib.axes._axes as axes 

fig = plt.figure(figsize=(5,10)) 
ax1 = fig.add_subplot(3,1,1) # type:axes.Axes 
ax1.set_xlabel('Test') <- now autocompletes 

あなたはまたassert isinstanceを試すことができます。

最も受け入れ方法は、それが唯一の実行時間としてそれを入力するかを把握することができるので、型ヒントを使用することですあなたが探している方法の後でそれを行うなら、オートコンプリートを見つける:

ax1.set_xlabel('Test') 
assert isinstance(ax1, axes.Axes) 

これで、オブジェクトに存在しないメソッドを実行しようとすると、isinstanceがコードの制御フローを指示してはいけませんが、別のオブジェクトに同じ名前(!)のメソッドがあるとクラッシュするはずです不注意にそこに注釈がなくてもその目標に達しました。あなたが早く正しい場所で墜落したがっているので、私は気に入っています。 YMMV DOCから

アサーションはないは ので、このようなされていないファイルとして悪いユーザ入力またはオペレーティングシステム/環境 障害の起こり得る故障の場合のためにテストするために使用されるべきです見つかりました。代わりに、 例外を発生させるか、エラーメッセージを出力するか、適切なものを出力する必要があります。 1つの なぜアサーションは、 の自己テストにのみ使用する必要があるのか​​という重要な理由は、コンパイル時にアサーションを無効にできるということです。

Pythonが-Oオプションで開始された場合、アサーションは取り除かれ、 は評価されません。したがって、コードでアサーションが頻繁に使用されている場合は、 が重要ですが、リリースビルドで をオフにするシステムがあります。それが本当に必要 でない限り(しかし、これをしない。

https://wiki.python.org/moin/UsingAssertionsEffectively

を別の方法として、あなたはあなたができる、この方法であなたのコードに追加したい、とIpython/jupyter anocondaてインストールしているいけない場合実行するコードを右クリックし、「コンソールで選択を実行」を選択して、コンソールからコード補完を取得してください

関連する問題