22

私が最初にPythonについて読み始めたとき、すべてのチュートリアルでPythonのインタラクティブモードを使用しています。保存したり、長いプログラムを書いたり、既存の行を編集したりすることは困難です(少なくとも私にとっては)。code.pyファイルを開いてそのファイルでインタープリターを実行するよりも、Pythonコードを作成するのがはるかに難しい方法のようです。

python code.py

私はJavaのバックグラウンドを持っているので、プログラム用のファイルの作成とコンパイルに期待を寄せています。また、Pythonのドキュメントでは、機能が何らかの形で役に立たなかった場合、その機能はそれほど目立たないことも知っています。だから私は何が欠けていますか?

4

10 に答える 10

39

どれどれ:

  • 何かがどのように機能するかを知りたい場合は、それを試すことができます。ファイルを作成する必要はありません。私はほとんどの場合、プログラムをコーディングする前に、インタプリタでプログラムをスクラッチ書き込みします。プログラミング言語でどのように機能するかわからないことだけではありません。範囲に対する正しい引数が何であるかを覚えていません。たとえば、[-2、-1、0、1]などです。私はする必要はありません。インタプリタを起動して、それがわかるまで試してみる必要がありますrange(-2, 2)(実際には、今それを実行しました)。

  • 電卓としてもお使いいただけます。

  • Pythonは非常に内省的なプログラミング言語です。オブジェクトについて何か知りたい場合は、を実行できますdir(object)。IPythonを使用する場合は、それを実行することもできobject.<TAB>、そのオブジェクトのメソッドと属性をタブで完了します。これは、ドキュメントやコードで検索するよりもはるかに高速です。

  • help(anything)ドキュメント用。どのWebインターフェースよりもはるかに高速です。

  • 繰り返しになりますが、IPython(強く推奨)を使用する必要がありますが、時間を計ることができます。 何が速いかを判断するための一般的なイディオムです %timeit func1()%timeit func2()

  • 一度使用するプログラムを作成したいと思ったことはありますか。これを行う最も速い方法は、Pythonインタープリターで行うことです。確かに、ループや関数を注意深く書く必要があります(最初は正しい構文を持っている必要があります)が、ほとんどのものは行ごとであり、それをいじることができます。

  • デバッグ。インタープリターで変数を記述したときに変数が何であるかを確認するために、コードに選択的な印刷ステートメントを入れる必要はありません。を入力するだけ>>> aで、何aが表示されます。何かが正しく構築されたかどうかをもう一度確認してください。Pythonデバッガーpdbの構築では、intrepeter機能も使用されるため、デバッグ時に変数が何であるかを確認できるだけでなく、デバッグを停止せず に変数を操作または変更することもできます。

Pythonの開発が速いと人々が言うとき、私はこれが彼らが話していることの大きな部分であることを保証します。

コメント投稿者:私が忘れていることは何ですか?

于 2010-04-19T04:07:51.240 に答える
14

REPLループ(Pythonのインタラクティブモードのような)は、プログラマーに即座にフィードバックを提供します。そのため、小さなコードをすばやく記述してテストし、それらをより大きなプログラムに組み立てることができます。

于 2010-04-19T01:43:01.083 に答える
5

「python」と入力するだけでコンソールでPythonを実行することについて話しているのですか?これは、ちょっとしたテストとその言語での練習のためだけのものです。言語を学び、他のモジュールをテストするときに非常に便利です。

もちろん、実際のソフトウェアプロジェクトはすべて.pyファイルに書き込まれ、後でインタプリタによって実行されます。

于 2010-04-19T01:42:12.383 に答える
2

Pythonインタープリターは最小公分母です。複数のプラットフォームで実行でき、同じように動作するため(モジュロプラットフォーム固有のモジュール)、初心者でも簡単に使用できます。

初心者にインタプリタを起動して「これを行う」ように指示する方が、ファイルを開いたり、コードを入力したり、保存したり、実行可能にしたり、PythonがPATHに含まれていることを確認したり、#を使用したりするよりもはるかに簡単です。行など。すべてを廃棄し、インタープリターを起動するだけです。簡単な例として、あなたはそれを打ち負かすことはできません。これは長いプログラムを対象としたものではなかったため、そのために使用している場合は、「長いスクリプトはファイルに保存される」というチュートリアルの部分を見逃した可能性があります。:)

于 2010-04-19T01:48:05.253 に答える
2

スクリプトに挿入する前に、インタラクティブインタープリターを使用してコードのスニペットをテストします。

于 2010-04-19T01:50:39.897 に答える
2

インタラクティブインタプリタは、クイックコードをテストしたり、Pythonのパワーを他の人に見せたりするのに非常に適しています。通訳を便利な電卓として使うこともあります。非常に短い時間でできることは驚くべきことです。

組み込みのコンソールの他に、Pyshellもお勧めします。オートコンプリートと適切な構文の強調表示があります。一度に複数行のコードを編集することもできます。もちろん、完璧ではありませんが、デフォルトのPythonコンソールよりも確かに優れています。

于 2010-04-19T02:01:43.740 に答える
2

すでに述べたように、Pythonインタラクティブインタープリターは、単純なPython関数やコードスニペットをテストするための迅速で汚い方法を提供します。

math私は個人的にPythonシェルを、(モジュールによって提供される)単純な数値演算を実行するための非常に迅速な方法として使用しています。環境を設定しているので、Pythonシェルを起動するたびに数学モジュールが自動的にインポートされます。実際、Pythonを非Pythoniastsに「売り込む」ための良い方法です。Pythonをきちんとした関数電卓として、そして単純な数学的プロトタイピングにどのように使用できるかを示してください。

于 2010-04-19T04:36:17.527 に答える
2

他の人が言及していないことのために私がインタラクティブモードを使用することの1つ:モジュールがインストールされているかどうかを確認すること。Pythonを起動してimport、モジュールを試してみてください。死んだ場合は、PYTHONPATHが壊れているか、モジュールがインストールされていません。

これは、「ねえ、それは私のマシンでは機能していません」または「とにかく、どのPythonがインストールされたのか」というバグの素晴らしい最初のステップです。

于 2010-04-19T05:09:04.963 に答える
1

Javaでコーディングする場合、ほとんどの場合、ブラウザウィンドウでAPIを開いています。ただし、Pythonインタープリターを使用すると、使用を検討しているモジュールをいつでもインポートして、そのモジュールが何を提供するかを確認できます。また、不明な新しいメソッドの動作をテストして、バグの原因としての「ああ、それがどのように機能するか」を排除することもできます。

于 2010-04-19T03:21:26.240 に答える
0

インタラクティブモードを使用すると、コードスニペットをより大きなプログラムに組み込む前に簡単にテストできます。IDLEを使用する場合は、構文の強調表示と引数のポップアップが役立ちます。また、テストプログラムを作成せずにモジュールを使用する方法を理解したことを確認する簡単な方法でもあります。

于 2010-04-20T19:01:13.603 に答える