コード実行支援アシスタンス
前提条件
すでに Python プロジェクトを作成し、次のコードを入力しています。
import math def demo(a, b, c): d = b ** 2 - 4 * a * c if d > 0: disc = math.sqrt(d) root1 = (-b + disc) / (2 * a) root2 = (-b - disc) / (2 * a) return root1, root2 elif d == 0: return -b / (2 * a) else: return "This equation has no roots" if __name__ == '__main__': a = int(input("a: ")) b = int(input("b: ")) c = int(input("c: ")) result = demo(a, b, c) print(result)Python インタープリターはすでに 設定されています。 現在のプロジェクトでは、Python インタープリターのバージョンは 3.0 以降でなければなりません。
最初の実行
F4 を編集するためにクラス Solver.py を開き、エディターの背景を右クリックします。 次に、コンテキストメニューから を選択します。

スクリプトが実行されます。 a、b、c の値を入力して、 実行ツールウィンドウ の出力を確認します。

やったことや見ていることを詳しく見ていきましょう。
実行 / デバッグ構成 - それは何ですか?
PyCharm から実行またはデバッグしたい各スクリプトやテストには、スクリプト名、作業ディレクトリ、および実行やデバッグに必要なその他の重要な情報を指定する特別なプロファイルが必要です。 PyCharm には、パターンの役割を果たす事前定義プロファイル、つまり 実行 / デバッグ構成が複数用意されており、それを基に独自の実行 / デバッグ構成を好きなだけ作成できます。
実行 または
デバッグ をクリックする (またはコンテキストメニューから 実行 または デバッグ を選択する) たびに、実際には現在の実行 / デバッグ構成が実行モードまたはデバッグモードで起動されます。
最初の画像を見ると、コンボボックスに実行/デバッグ構成がまったく表示されていませんが、2 枚目の画像では緑色の円でマークされて表示されていることに気づきます。 これは、Solver の実行 / デバッグ構成が PyCharm によってコンテキストメニューから を選択したとき自動作成されたことを意味します。 この実行 / デバッグ構成が緑の円でマークされているため、現在の構成となっています。
画像の 実行ウィジェットを見ると、 ソルバー が現在の実行 / デバッグ構成として選択されているのがわかります。 その右側に、 実行 と
デバッグ ボタンが表示されます。
そのアイコンが半透明で表示されているのも確認できます。 どういう意味でしょうか? Solver の実行 / デバッグ構成は 一時的であり、PyCharm が自動的に作成したことを意味します。
次に、 をクリックして、使用可能なコマンドと既存の実行 / デバッグ構成のリストを表示します。

より多くの実行 / デバッグ構成がある場合は、既存のもののリストが広くなります。 このリストで実行 / デバッグ構成の 1 つをクリックすると、現在の状態になります。
実行 / デバッグ構成を保存する
「その他のアクション 」をクリックすると、「カバレッジ付きで実行」、「プロファイル」、「同時実行視覚化セッションを開始する 」などの追加の実行オプションが表示されます。 以下に、現在の構成で利用可能なアクションを示します。

設定の保存 を選択すると、この設定は 永続的になり、通常のアイコンが表示されます。
実行 / デバッグ構成の編集
次に、 ソルバー の近くの をクリックし、 構成の編集 を選択します。 実行/デバッグ構成ダイアログが開きます:

ここでは、 ソルバー の構成とそのデフォルト設定を確認できます。
デフォルトの構成オプションは、事前定義された Python テンプレートから派生しています。 パターンをプレビューおよび変更するには、 構成テンプレートの編集 リンクをクリックします。

例として、ここでデフォルトのPythonインタープリターを変更します。 その後、 Python タイプの新しく作成された実行 / デバッグ構成で事前に選択されます。
実行 / デバッグ構成 ダイアログに戻りましょう。
左側の Python ノードの下に、実行 / デバッグ構成 ソルバー のみが表示されます。 これは通常の不透明度のアイコンで示されていて、永続的な実行 / デバッグ構成であることを表しています(保存したため永続化されました。なお、特別に作成した実行 / デバッグ構成も永続化されます)。
既存の実行 / デバッグ構成のいずれかで何かを変更すると、その特定の実行 / デバッグ構成だけが影響を受けます。
テキストファイルから標準入力をリダイレクトする
実行 / デバッグ構成 ダイアログを使用して、 実行 ツールウィンドウに入力するのではなく、テキストファイルから入力値を自動的に送信することができます。
次の値 a、b、c を使用して、プロジェクトルートに in.txt ファイルを作成します。
1 11 1「実行」ウィジェットをクリックし、「実行構成の編集 」を選択します。 複数の実行構成がある場合は、左側で ソルバー を選択します。
オプションを変更 をクリックし、 次からの入力をリダイレクト を選択します。 対応するフィールドがダイアログに表示されます。
その中に in.txt ファイルへのパスを指定します。

ダイアログの下部にある 実行 をクリックして構成を保存し、実行します。

実行中のスクリプトにパラメーターを渡す
Python スクリプトを実行するとき、コマンドライン引数としてさまざまな値を渡すことができます。 Python 実行 / デバッグ構成の パラメーター フィールドを使用して、パラメーターを追加するか、マクロを挿入します。
計算で「4」の代わりにコマンドライン引数値を使用できるように、コードサンプルを変更します。
import math import sys def demo(a, b, c): n = float(sys.argv[1]) d = b ** 2 - n * a * c if d > 0: disc = math.sqrt(d) root1 = (-b + disc) / (2 * a) root2 = (-b - disc) / (2 * a) return root1, root2 elif d == 0: return -b / (2 * a) else: return "This equation has no roots" if __name__ == '__main__': a = int(input("a: ")) b = int(input("b: ")) c = int(input("c: ")) result = demo(a, b, c) print(result)「実行」ウィジェットをクリックし、「実行構成の編集 」を選択します。 複数の実行構成がある場合は、左側で ソルバー を選択します。
スクリプトパラメーター フィールドで
マクロを挿入 をクリックし、使用可能なマクロのリストから ClipboadContent を選択します。

この例では、クリップボードには値 76 が含まれており、それが マクロプレビュー 領域に表示されています。
挿入 をクリックして、選択したマクロを追加します。
Solver 実行 / デバッグ構成を実行します。 現在、コマンドラインには引数として「76」が含まれていることに注意してください。

数値をクリップボードにコピーし、構成を再実行してマクロを評価します。
準備ができたら、スクリプトに加えた変更をロールバックしてください。次のチュートリアルでは必要ありません。
同様に、他の有用なマクロを含めることができます。
$FilePath$: 開いているファイルのファイルパス$ModuleSdkPath$: プロジェクトインタープリターパス用$Prompt$: 構成実行時の文字列入力ダイアログ
通常実行
最も有効な まっすぐ進む道の 1 つでソルバースクリプトをすでに実行しています。 次に、スクリプトを実行する他の方法を見てみましょう。
「ソルバー」実行 / デバッグ構成が実行ウィジェットの現在の構成であることを確認してください。
次のいずれかを実行します:
実行 / デバッグ構成のコンボボックスの横にある実行ボタン
をクリックします。
Shift+F10 を押す。
に進みます。
今度は 実行ツールウィンドウで結果を確認できます。
テスト実行
ここではなぜテストが必要なのかについては説明しません。必要であると仮定して、PyCharm がどのように支援できるかを説明します。
テストの作成
テストを実行するには、まずテストを作成する必要があります。 PyCharm では、テストのスタブを簡単に作成できます。クラス名をクリックして Ctrl+Shift+T を押すか、メインメニューの に移動します。 テストが存在する場合は直接ジャンプできます。存在しない場合、PyCharmが作成します:

提案されたアクションをクリックすると、PyCharmが次のダイアログを表示します:

OK をクリックすると、エディターでテストクラスが開かれていることを確認します:

PyCharm がテストクラスを作成してくれました。 ただし、これは実際のテスト機能を備えていない単なるスタブです。 そこで、テスト対象のクラスをインポートし、テストメソッドを追加します。 結果のコードは次のようになります。
テストの実行
テストコードの準備ができたら、テストクラス名を右クリックし、 Python テストを実行する を選択します。

これを起動し、実行ツールウィンドウの テストランナータブで結果を確認します。 成功したテストと失敗したテストを確認するには、ツールバーの 合格のみ表示 をクリックします。

デバッグ実行
まず第一に、なぜデバッグが必要なのでしょうか ? 実行時エラーが発生したとします。 エラーの理由が明らかな場合もあります。 ただし、より複雑な場合は、プログラムの実行のさまざまな時点でプログラムの状態を調査およびインスペクションする必要がある場合があります。 ここでデバッグが必要になります。
PyCharm を使用すると、IDE から離れることなくアプリケーションをデバッグできます。 事前に行う必要があるのは、必要な場所にブレークポイントを配置することだけです。 これについて詳しく見てみましょう。
ブレークポイント - それは何ですか?
ブレークポイントとは、その行に到達したとき PyCharm が中断するソースコードの行です。 PyCharm はいくつかの ブレークポイントの種類を判別し、それぞれ独自のアイコンで表示します。
ブレークポイントの設定
これは間違いなくプロセスの中で最も簡単な部分です。 調べたい行のガターをクリックするだけで、そこにブレークポイントが表示されます。

各ブレークポイントは、行全体にわたって赤いストライプでも示されていることに注意してください。 この色は、まだ到達していないブレークポイントに対応します。 後ほど、ブレークポイントの線の色がどのように変化するかを見ていきます。
ちなみに、ブレークポイントの削除も同様に簡単で、ガターをクリックします。
ブレークポイントの上にマウスを置きます。 PyCharm は、最も重要なブレークポイント情報―行番号とスクリプトアドレス―をツールチップに表示します。 ただし、ブレークポイントの設定を変更する場合は、ブレークポイントを右クリックする必要があります。 独自のブレークポイント設定を変更して、ブレークポイントアイコンがどのように変化するかを確認してください。
デバッグセッション
これでデバッグの準備が整いました。 始めましょう。
まず、実行ウィジェットで ソルバー の実行 / デバッグ構成を選択し、 をクリックします。
次はどうなりますか?
PyCharm が開始し、最初のブレークポイントで実行を一時停止します。
ブレークポイントの線が青になります。 これは、PyCharm がブレークポイントのある行に到達したが、まだ実行していないことを意味します。
エディター内の実行された行の次に、変数の値が表示されます。
デバッグツールウィンドウが表示されます。 このツールウィンドウには、デバッグに関連するすべての重要な情報が表示され、デバッグプロセスの管理が可能です。

詳細については、 製品ドキュメントを参照してください。
「スレッドと変数」タブでの作業
これで、最初のブレークポイントで一時停止しました。 次は何ですか?
F9 を押すか、 をクリックします。 プログラムは再開され、次のブレークポイントで一時停止します。 このようにして、設定されたすべてのブレークポイントをステップ実行して、アプリケーションで使用される変数を観察できます。 詳細は デバッグ をご参照ください。
コンソールタブでの作業
そもそもなぜ必要なのでしょうか? たとえば、エラーメッセージを見たい場合や、現在のアプリケーションに関係ない計算を実行したい場合などにも、PyCharm なら問題ありません。
コンソールタブをクリックして前面に表示します。
この対話型コンソールで Python コマンドを実行してみましょう:

対話型コンソールにはコード補完 Ctrl+Space と履歴 (上 / 下矢印キー) が表示されることに注意してください。 詳細については、 デバッグコンソールの使用 のページを参照してください。
メインメニューからコマンド を使用して、いつでもデバッグコンソールを呼び出すことができます。
デバッグ ツールウィンドウの詳細については、「スレッド & 変数タブ 」セクションを参照してください。
REPL - Python コンソールで実行
最後に、 Python コンソールの操作に慣れている場合は、PyCharm 内でもそれが可能です。 コンソールを起動するには、コンテキストメニューから Python コンソールでファイルを実行 を選択します。
スクリプトの実行は、インタラクティブモードで処理できます。

詳細については、 Python コンソール を参照してください。