24.6. IDLE —Pythonドキュメント

提供:Dev Guides
< PythonPython/docs/2.7/library/idle
移動先:案内検索

24.6。 IDLE

IDLEは、Pythonの統合開発および学習環境です。

IDLEには次の機能があります。

  • tkinter GUIツールキットを使用して、100%純粋なPythonでコーディングされています
  • クロスプラットフォーム:Windows、Unix、Mac OSXでほぼ同じように機能します
  • コードの入力、出力、およびエラーメッセージの色付けを備えたPythonシェルウィンドウ(インタラクティブインタープリター)
  • 複数の取り消し、Pythonの色付け、スマートインデント、通話のヒント、オートコンプリート、その他の機能を備えたマルチウィンドウテキストエディター
  • 任意のウィンドウ内で検索し、エディターウィンドウ内で置き換え、複数のファイルを検索します(grep)
  • 永続的なブレークポイント、ステッピング、およびグローバル名前空間とローカル名前空間の表示を備えたデバッガー
  • 構成、ブラウザー、およびその他のダイアログ

24.6.2。 編集とナビゲーション

このセクションでは、「C」はWindowsおよびUnixの Control キー、およびMacOSXの Command キーを指します。

  • Backspace は左側に削除します。 Del は右側に削除します

  • C-バックスペース残りの単語を削除します。 C-Del 右側の単語を削除

  • 矢印キーと Page Up / Page Down で移動できます

  • C-LeftArrow C-RightArrow は単語で移動します

  • ホーム / 終了行の先頭/末尾に移動

  • C-Home / C-End ファイルの開始/終了に移動

  • いくつかの便利なEmacsバインディングはTcl / Tkから継承されています。

    • Ca 行頭

    • Ce 行末

    • Ck キルライン(ただしクリップボードには入れません)

    • Cl 挿入ポイント周辺の中央ウィンドウ

    • Cb は、削除せずに1文字戻ります(通常、これにはカーソルキーを使用することもできます)

    • Cf は削除せずに1文字進みます(通常、これにはカーソルキーを使用することもできます)

    • Cp は1行上に移動します(通常、これにはカーソルキーを使用することもできます)

    • Cd 次の文字を削除


標準のキーバインド(コピーする Cc や貼り付ける Cv など)が機能する場合があります。 キーバインディングは、[IDLEの構成]ダイアログで選択されます。

24.6.2.1。 自動インデント

ブロックを開くステートメントの後、次の行は4つのスペースでインデントされます(Pythonシェルウィンドウでは1つのタブで)。 特定のキーワード(ブレーク、リターンなど)の後、次の行は拒否されます。 先頭のインデントでは、 Backspace は、最大4つのスペースがある場合はそれを削除します。 Tab はスペースを挿入します(Pythonシェルウィンドウでは1つのタブ)。数はインデント幅によって異なります。 現在、Tcl / Tkの制限により、タブは4つのスペースに制限されています。

編集メニューのインデント/ディデント領域コマンドも参照してください。


24.6.2.2。 完了

組み込みおよびユーザー定義の両方の関数、クラス、およびクラスの属性の補完が提供されます。 ファイル名の補完も提供されます。

AutoCompleteWindow(ACW)は、「。」の後の事前定義された遅延(デフォルトは2秒)後に開きます。 または(文字列で)os.sepが入力されます。 これらの文字の1つ(および0個以上の他の文字)の後にタブを入力すると、継続の可能性が見つかった場合にACWがすぐに開きます。

入力された文字の可能な補完が1つしかない場合、 Tab はACWを開かずにその補完を提供します。

「完了の表示」は、完了ウィンドウを強制的に開きます。デフォルトでは、 C-space は完了ウィンドウを開きます。 空の文字列では、これには現在のディレクトリ内のファイルが含まれます。 空白行には、現在の名前空間に組み込まれているユーザー定義の関数とクラス、およびインポートされたモジュールが含まれます。 一部の文字が入力されている場合、ACWはより具体的にしようとします。

文字列を入力すると、ACWの選択は、それらの文字に最も近いエントリにジャンプします。 タブを入力すると、最も長いあいまいでない一致がエディターウィンドウまたはシェルに入力されます。 連続する2つのタブは、現在のACW選択を提供し、戻るかダブルクリックします。 カーソルキー、Page Up / Down、マウス選択、およびスクロールホイールはすべてACWで動作します。

「非表示」属性にアクセスするには、「。」の後に非表示の名前の先頭を入力します。例: '_'。 これにより、__all__が設定されたモジュール、またはクラスプライベート属性にアクセスできます。

完了と「単語の拡張」機能により、入力を大幅に節約できます。

現在、完了は名前空間内のものに制限されています。 __main__および sys.modules を経由しないエディターウィンドウ内の名前は見つかりません。 この状況を修正するには、インポートでモジュールを1回実行します。 IDLE自体がsys.modulesにかなりの数のモジュールを配置することに注意してください。デフォルトでは、多くのモジュールが見つかります。 reモジュール。

ACWが無制限にポップアップするのが気に入らない場合は、遅延を長くするか、拡張機能を無効にします。


24.6.2.3。 コールチップ

アクセス可能な関数の名前の後にを入力すると、コールチップが表示されます。 名前式には、ドットと下付き文字を含めることができます。 コールチップは、クリックされるか、カーソルが引数領域の外に移動されるか、が入力されるまで残ります。 カーソルが定義の引数部分にある場合、メニューまたはショートカットにコールチップが表示されます。

コールチップは、関数のシグネチャとdocstringの最初の行で構成されます。 アクセス可能な署名のないビルトインの場合、コールチップは5行目または最初の空白行までのすべての行で構成されます。 これらの詳細は変更される場合があります。

accessible 関数のセットは、Idle自体によってインポートされたモジュールを含む、ユーザープロセスにインポートされたモジュール、および最後の再起動以降に実行された定義によって異なります。

たとえば、シェルを再起動してitertools.count(と入力します。 Idleがitertoolsをユーザープロセスにインポートして独自に使用するため、コールチップが表示されます。 (これは変更される可能性があります。)turtle.write(と入力すると、何も表示されません。 アイドルはカメをインポートしません。 メニューやショートカットも何もしません。 import turtleと入力すると、turtle.write(が機能します。

エディターでは、インポートステートメントはファイルを実行するまで効果がありません。 上部にimportステートメントを書き込んだ後にファイルを実行するか、編集する前に既存のファイルをすぐに実行することをお勧めします。


24.6.2.4。 Pythonシェルウィンドウ

  • Cc がコマンドの実行を中断します

  • Cd はファイルの終わりを送信します。 >>>プロンプトで入力すると、ウィンドウが閉じます

  • Alt- / (単語の展開)はタイピングを減らすのにも役立ちます

    コマンド履歴

    • Alt-p は、入力したものと一致する前のコマンドを取得します。 OS Xでは、 Cp を使用します。

    • Alt-n は次に取得します。 OS Xでは、 Cn を使用します。

    • Return は、前のコマンドでそのコマンドを取得している間


24.6.2.5。 テキストの色

アイドル状態のデフォルトは白地に黒ですが、テキストに特別な意味で色を付けます。 シェルの場合、これらはシェル出力、シェルエラー、ユーザー出力、およびユーザーエラーです。 Pythonコードの場合、シェルプロンプトまたはエディターで、これらはキーワード、組み込みのクラス名と関数名、classdefに続く名前、文字列、およびコメントです。 どのテキストウィンドウでも、これらはカーソル(存在する場合)、見つかったテキスト(可能な場合)、および選択されたテキストです。

テキストの色付けは背景で行われるため、色付けされていないテキストが表示されることがあります。 配色を変更するには、[IDLEの構成]ダイアログの[強調表示]タブを使用します。 エディターのデバッガーブレークポイント行とポップアップおよびダイアログのテキストのマーキングは、ユーザーが構成することはできません。


24.6.3。 起動とコード実行

-sオプションで起動すると、IDLEは環境変数 IDLESTARTUPまたは PYTHONSTARTUP によって参照されるファイルを実行します。 IDLEは最初にIDLESTARTUPをチェックします。 IDLESTARTUPが存在する場合、参照されているファイルが実行されます。 IDLESTARTUPが存在しない場合、IDLEはPYTHONSTARTUPをチェックします。 これらの環境変数によって参照されるファイルは、IDLEシェルから頻繁に使用される関数を格納したり、インポートステートメントを実行して共通モジュールをインポートしたりするのに便利な場所です。

さらに、Tkは、スタートアップファイルが存在する場合はそれもロードします。 Tkファイルは無条件にロードされることに注意してください。 この追加ファイルは.Idle.pyであり、ユーザーのホームディレクトリで検索されます。 このファイルのステートメントはTk名前空間で実行されるため、このファイルはIDLEのPythonシェルから使用する関数をインポートするのには役立ちません。

24.6.3.1。 コマンドラインの使用法

idle.py [-c command] [-d] [-e] [-h] [-i] [-r file] [-s] [-t title] [-] [arg] ...

-c command  run command in the shell window
-d          enable debugger and open shell window
-e          open editor window
-h          print help message with legal combinations and exit
-i          open shell window
-r file     run file in shell window
-s          run $IDLESTARTUP or $PYTHONSTARTUP first, in shell window
-t title    set title of shell window
-           run stdin in shell (- must be last option before args)

引数がある場合:

  • --c、またはrを使用する場合、すべての引数はsys.argv[1:...]に配置され、sys.argv[0]は [に設定されます。 X113X]、'-c'、または'-r'。 [オプション]ダイアログでデフォルトに設定されている場合でも、エディタウィンドウは開かれません。
  • それ以外の場合、引数は編集用に開かれたファイルであり、sys.argvはIDLE自体に渡された引数を反映します。


24.6.3.2。 IDLE-コンソールの違い

可能な限り、IDLEを使用してPythonコードを実行した結果は、コンソールウィンドウで同じコードを実行した場合と同じです。 ただし、インターフェイスと操作が異なると、表示される結果に影響する場合があります。 たとえば、sys.modulesはより多くのエントリで始まります。

IDLEはまた、sys.stdinsys.stdout、およびsys.stderrを、シェルウィンドウから入力を取得してシェルウィンドウに出力を送信するオブジェクトに置き換えます。 このウィンドウにフォーカスがあると、キーボードと画面を制御します。 これは通常透過的ですが、キーボードと画面に直接アクセスする機能は機能しません。 sysreload(sys)でリセットすると、IDLEの変更が失われ、inputraw_inputprintなどが正しく機能しなくなります。

IDLEのシェルを使用すると、完全なステートメントを入力、編集、および呼び出すことができます。 一部のコンソールは、一度に1つの物理回線でのみ機能します。 IDLEはexecを使用して各ステートメントを実行します。 その結果、'__builtins__'は常にステートメントごとに定義されます。


24.6.3.3。 サブプロセスなしで実行

デフォルトでは、IDLEは、内部ループバックインターフェイスを使用するソケットを介して別のサブプロセスでユーザーコードを実行します。 この接続は外部からは見えず、インターネットとの間でデータが送受信されることはありません。 とにかくファイアウォールソフトウェアが文句を言うなら、あなたはそれを無視することができます。

ソケット接続の試行が失敗した場合、Idleは通知します。 このような障害は一時的なものである場合もありますが、永続的な場合は、ファイアウォールが接続をブロックしているか、特定のシステムの構成が間違っている可能性があります。 問題が修正されるまで、-nコマンドラインスイッチを使用してアイドルを実行できます。

IDLEが-nコマンドラインスイッチで開始された場合、IDLEは単一のプロセスで実行され、RPCPython実行サーバーを実行するサブプロセスは作成されません。 これは、Pythonがプラットフォーム上にサブプロセスまたはRPCソケットインターフェイスを作成できない場合に役立ちます。 ただし、このモードでは、ユーザーコードはIDLE自体から分離されません。 また、モジュールの実行/実行(F5)が選択されている場合、環境は再起動されません。 コードが変更されている場合は、影響を受けるモジュールをreload()して、特定のアイテムを再インポートする必要があります(例: 変更を有効にする場合は、foo import bazから)。 これらの理由から、可能な限りデフォルトのサブプロセスでIDLEを実行することをお勧めします。

バージョン3.4以降非推奨。


24.6.4。 ヘルプと設定

24.6.4.1。 追加のヘルプソース

IDLEには、docs.python.orgで入手可能なチュートリアルを含む広範なヘルプソースを開く「PythonDocs」と呼ばれるヘルプメニューエントリが含まれています。 選択したURLは、[IDLEの構成]ダイアログを使用していつでもヘルプメニューに追加またはヘルプメニューから削除できます。 詳細については、IDLEのヘルプメニューにあるIDLEヘルプオプションを参照してください。


24.6.4.2。 プリファレンスの設定

フォント設定、強調表示、キー、および一般設定は、[オプション]メニューの[IDLEの構成]を使用して変更できます。 キーはユーザー定義できます。 IDLEには、4つのキーセットが組み込まれています。 さらに、ユーザーは、[キー]タブの[IDLEの構成]ダイアログでカスタムキーセットを作成できます。


24.6.4.3。 拡張機能

IDLEには拡張機能が含まれています。 拡張機能の設定は、[拡張機能の構成]で変更できます。 詳細については、idlelibディレクトリのconfig-extensions.defの先頭を参照してください。 現在、デフォルトの拡張機能は次のとおりです。

  • FormatParagraph
  • AutoExpand
  • ZoomHeight
  • ScriptBinding
  • CallTips
  • ParenMatch
  • オートコンプリート
  • CodeContext
  • RstripExtension