5

私は Python は初めてで、Java を含む静的型付け言語のバックグラウンドがあります。

機能/人気などを確認した後、Eclipse の PyDev を IDE として決定しました。

オートコンプリートがビルトインに対して適切に機能していないように見えることに唖然としました。たとえば、次の後にデータファイルで automcomplete を試した場合:

datafile = open(directory+"/"+account, 'r') datafile.

有用な方法は提案されていません (例: realines)。callのようなものだけ。

私は、クラス定義にジャンプし、多くのオートコンプリートを使用してクラスが何をするかをすばやく確認することで、言語を学習することに慣れています。私の PyDev 'インタープリター' は 'forced builtins' でうまくセットアップされています。

PyDev でビルトインのオートコンプリートを取得することは可能ですか? IDE へのアプローチが間違っているのでしょうか。つまり、側でインタープリターを実行し、それを使用してテストする必要がありますか? これまでのところ、IDE は弱いように見えました。たとえば、私の新しい Mac では 2 分後に IDLE セグメンテーション違反が発生しました。経験豊富な Python 開発者がなじみのない (組み込みの) モジュールを探索するときに何をするかを知りたいです。これにより、Python に対する最初の魅力を再考する必要があります。簡単な探索で学べる言語が好きです!

ありがとう、

4

7 に答える 7

9

私の意見では、Python シェルは、IDE に依存するよりも、新しいモジュールを探索するのに適した場所です。Python では、プログラムで実行できることは何でもシェルで実行できることを忘れないでください。これは、個別のコンパイル手順がないためです。また、シェルではdir(x)、x がモジュール、クラス、またはその他のものであるかどうかにかかわらず、x のすべてのプロパティとメソッドを見つけるために使用できます。

さらに良いことに、強化されたiPythonシェルは、すべてのオブジェクトに対してタブ補完を提供します。

実際、このため、多くの Python プログラマー (私も含めて) は IDE をまったく使用せず、単純なテキスト エディター (私は VIM を使用) を使用しています。

于 2010-08-14T09:15:17.473 に答える
5

新しい読者がPydevの現在の状態について混乱しないように、最新の状態に保つために-あなたが示した例はPydevで機能するようになりました。(ちなみに、手動でパスを操作することは避けるべきです - 代わりに os.path.join を使用してください)

于 2012-02-24T11:32:36.997 に答える
2

なじみのない (組み込みの) モジュールを調査するときに、経験豊富な Python 開発者が何をするか知りたいです。

私はipythonを使用します。Ipython は、タブ補完とオブジェクトの doctstring へのクイック アクセスを追加するインタラクティブ シェルの拡張バージョンです。また、標準のシェルにはない多くの機能も提供します。機能の概要については、こちらを参照してください。

于 2010-08-14T09:28:25.837 に答える
0

WingIDE を参照してください。データファイルを正しくオートコンプリートします。

型を推測できない場合は、次のような assert を使用できます

assert isinstance(datafile, file)

オートコンプリータを助けるために

于 2010-08-14T10:42:08.130 に答える
0

ここに詳しい人が詳しく答えてくれます。ここに短いものがあります。

動的に型付けされた言語のオートコンプリートは、本質的に、静的に型付けされた言語のオートコンプリートほどリッチになることはありません。openたとえば、コードを書いた時点で戻り値の型が何であるかを把握する方法はありません。メソッド シグネチャには、Java のような静的に型付けされた言語とは異なり、戻り値の型は含まれません。したがって、IDE はヒントを提供できません。

Python の開発中は必ず REPL を実行する必要があります。インタープリター言語の利点の 1 つは、進行中に REPL でコードの小さなチャンクをテストできることです。また、ビルトインやその他のモジュールがどのように機能するかについての理解度をテストするのにも適しています。

私は Ubuntu で作業しているので、Mac で IDLE を実行するのがどれほど簡単か、または難しいかはわかりません。私は通常、REPL のニーズには非常に便利なiPythonを使用し、他の開発 (Django など) には Pydev を使用します。iPython を試してみてください。

于 2010-08-14T09:14:41.513 に答える
0

私は仕事で PyDev を使用しているので、あなたがどこから来たのかを知っています。他のツールを検討する場合は、JetBrains の PyCharmをご覧ください。これは、私自身のプロジェクトで新しく推奨する Python IDE です。ベータ版が終了したら、私がそれを取り上げると言うことを除いて、話す所属はありません. :)

于 2010-08-14T18:33:35.597 に答える
0

IPythonが必要です。ダニエルが上で指摘したように、対話型シェルは Python (そして実際、他のほとんどの言語も) を探索するためのはるかに優れた方法です。

これは、OSX での設定に役立つ場合があります。

于 2010-08-14T09:29:41.637 に答える