24.6. IDLE

IDLE 是 Python 的集成开发和学习环境。

IDLE 具有以下Function:

IDLE 具有两种主要的窗口类型:“Shell”窗口和“编辑器”窗口。可以同时具有多个编辑器窗口。输出窗口(例如用于文件中的“编辑/查找”)是编辑窗口的子类型。它们当前具有与“编辑器”窗口相同的顶部菜单,但是具有不同的默认标题和上下文菜单。

IDLE 的菜单根据当前选择的窗口动态变化。下面记录的每个菜单均指示与之关联的窗口类型。

24.6.1.1. 文件菜单(Shell 和编辑器)

24.6.1.2. 编辑菜单(Shell 和编辑器)

剪贴板Function在上下文菜单中也可用。

24.6.1.3. 格式菜单(仅编辑器窗口)

24.6.1.4. 运行菜单(仅编辑器窗口)

24.6.1.5. Shell 菜单(仅 Shell 窗口)

24.6.1.6. 调试菜单(仅 Shell 窗口)

24.6.1.7. 选项菜单(Shell 和编辑器)

非默认用户设置保存在用户主目录中的.idlerc 目录中。pass编辑或删除.idlerc 中的一个或多个文件,可以解决由错误的用户配置文件引起的问题。

24.6.1.8. 窗口菜单(Shell 和编辑器)

该菜单的其余部分列出了所有打开的窗口的名称。选择一个将其带到前台(必要时对其进行去符号化)。

24.6.1.9. 帮助菜单(Shell 和编辑器)

可以在“常规”选项卡下的“配置 IDLE”对话框中添加其他帮助源。

24.6.1.10. 上下文菜单

pass右键单击窗口(在 OS X 上按住 Control 键并单击)来打开上下文菜单。上下文菜单在“编辑”菜单上也具有标准剪贴板Function。

编辑器窗口还具有断点Function。设置了断点的行会特别标记。断点仅在调试器下运行时才有效。文件的断点保存在用户的.idlerc 目录中。

Shell 和输出窗口具有以下内容。

24.6.2. 编辑和导航

在本节中,“ C”表示 Windows 和 Unix 上的 Control 键以及 Mac OSX 上的 Command 键。

Note

  • C-行首

  • C-e 行尾

  • C-k 杀死线(但不放在剪贴板中)

  • 插入点周围的 C-l 中心窗口

  • C-b 后退一个字符而不删除(通常您也可以使用光标键)

  • C-f 向前移动一个字符而不删除(通常您也可以使用光标键)

  • C-p 上移一行(通常您也可以使用光标键)

  • C-d 删除下一个字符

标准的键盘绑定(例如 C-c 复制和 C-v 粘贴)可能有效。在“配置 IDLE”对话框中选择键绑定。

24.6.2.1. 自动缩进

在开封语句之后,下一行缩进 4 个空格(在 Python Shell 窗口中缩进一个标签)。在某些关键字(break,return 等)之后,将下一行缩排。在前导缩进中,Backspace 最多删除 4 个空格(如果有)。制表符插入空格(在 Python Shell 窗口中为一个制表符),数字取决于缩进宽度。当前,由于 Tcl/Tk 的限制,制表符被限制为四个空格。

另请参见编辑菜单中的缩进/缩进区域命令。

24.6.2.2. Completions

为内置的和用户定义的函数,类和类的属性提供了补全。还提供了文件名的补全。

AutoCompleteWindow(ACW)将在“。”之后的 sched 义延迟(默认为两秒)后打开。或(在字符串中)Importingos.sep。如果在这些字符之一(加上零个或多个其他字符)之后键入标签,则如果找到可能的延续,则 ACW 将立即打开。

如果 Importing 的字符只有一个可能的补全,则制表符将提供该补全,而无需打开 ACW。

“显示完成”将强制打开完成窗口,默认情况下,C-space 将打开完成窗口。在一个空字符串中,它将包含当前目录中的文件。在空白行上,它将包含当前名称空间中的内置和用户定义的函数和类,以及所有导入的模块。如果 Importing 了某些字符,则 ACW 将try更具体。

如果键入字符串,则 ACW 选择将跳到与这些字符最匹配的条目。Importing 选项卡将导致在编辑器窗口或命令行 Management 程序中 Importing 最长的明确匹配项。连续的两个选项卡将提供当前的 ACW 选择,将返回或双击。光标键,上/下翻页,鼠标选择和滚轮均在 ACW 上操作。

可以pass在“。”之后键入隐藏名称的开头来访问“隐藏”属性,例如'_'。这允许访问设置了__all__的模块或类专用属性。

完成和“扩展单词”Function可以节省大量 Importing!

当前的完成仅限于名称空间中的完成。在“编辑器”窗口中,找不到不是pass__main__sys.modules的名称。对导入运行模块一次,以纠正这种情况。请注意,IDLE 本身在 sys.modules 中放置了很多模块,默认情况下可以找到很多模块,例如重新模块。

如果您不希望 ACW 突然弹出,只需延长延迟时间或禁用扩展即可。

24.6.2.3. Calltips

键入一种类型时(在* accessible *函数的名称之后.名称表达式可能包含点和下标.将一直保留该 Calltip,直到单击它,将光标移出参数区域或),才会显示该 Calltip。当光标位于定义的自变量部分时,菜单或快捷方式将显示一个调用提示。

调用提示由函数签名和文档字符串的第一行组成。对于没有可访问签名的内置插件,calltip 包含第五行或第一行空白的所有行。这些细节可能会改变。

“可访问”Function的集合取决于自上次重启以来已将哪些模块导入到用户进程中,包括由 Idle 本身导入的模块以及已运行的定义。

例如,重新启动命令行 Management 程序,然后 Importingitertools.count(。出现提示,是因为 Idle 将 itertools 导入用户进程供自己使用。 (这可能会更改.)Importingturtle.write(,则什么也不会出现。空闲不导入turtle。菜单或快捷方式也不起作用。Importingimport turtle,然后turtle.write(将起作用。

在编辑器中,导入语句在运行该文件之前不起作用。在顶部编写了 import 语句后,可能要运行文件,或者在编辑之前立即运行现有文件。

24.6.2.4. Python Shell 窗口

Command history

24.6.2.5. Literals 颜色

闲置默认在白色文本上为黑色,但为文本添加特殊含义。对于 Shell,这些是 Shell 输出,Shell 错误,用户输出和用户错误。对于 Python 代码,在 shell 提示符下或在编辑器中,这些是关键字,内置类和函数名称,classdef之后的名称,字符串和 Comments。对于任何文本窗口,它们都是光标(如果存在),找到的文本(如果可能)和选定的文本。

文本着色是在背景中完成的,因此偶尔会看到未着色的文本。要更改配色方案,请使用“配置 IDLE”对话框的“突出显示”选项卡。用户无法配置编辑器中调试器断点行以及弹出窗口和对话框中文本的标记。

24.6.3. 启动和代码执行

使用-s选项启动时,IDLE 将执行环境变量 IDLESTARTUP PYTHONSTARTUP引用的文件。 IDLE 首先检查IDLESTARTUP;如果存在IDLESTARTUP,则运行引用的文件。如果IDLESTARTUP不存在,则 IDLE 检查PYTHONSTARTUP。这些环境变量引用的文件是存储 IDLE shell 经常使用的函数或执行导入语句以导入公共模块的便利位置。

此外,Tk还会加载启动文件(如果存在)。请注意,Tk 文件是无条件加载的。此附加文件是.Idle.py,并在用户的主目录中查找。该文件中的语句将在 Tk 命名空间中执行,因此该文件对于从 IDLE 的 Python shell 导入要使用的函数没有用。

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)

如果有参数:

24.6.3.2. 空闲控制台的差异

尽可能地,使用 IDLE 执行 Python 代码的结果与在控制台窗口中执行相同的代码相同。但是,不同的界面和操作有时会影响可见结果。例如,sys.modules以更多条目开头。

IDLE 还将sys.stdinsys.stdoutsys.stderr替换为从 Shell 窗口获取 Importing 并将输出发送到 Shell 窗口的对象。当该窗口具有焦点时,它将控制键盘和屏幕。这通常是透明的,但是直接访问键盘和屏幕的Function将不起作用。如果使用reload(sys)重置sys,则 IDLE 的更改将丢失,并且inputraw_inputprint之类的东西将无法正常工作。

使用 IDLE 的 Shell,您可以 Importing,编辑和调用完整的语句。某些控制台一次只能使用一条物理行路。 IDLE 使用exec来运行每个语句。结果,总是为每个语句定义'__builtins__'

24.6.3.3. 在没有子流程的情况下运行

默认情况下,IDLE pass使用内部回送接口的套接字在单独的子进程中执行用户代码。该连接在外部不可见,并且没有数据发送到 Internet 或从 Internet 接收。如果防火墙软件仍然抱怨,则可以忽略它。

如果try构建套接字连接失败,则 Idle 将通知您。此类故障有时是短暂的,但如果持续存在,则问题可能是防火墙阻止了连接或特定系统的配置错误。在问题解决之前,您可以使用-n 命令行开关运行 Idle。

如果 IDLE 是使用-n 命令行开关启动的,则它将在单个进程中运行,并且不会创建运行 RPC Python 执行服务器的子进程。如果 Python 无法在您的平台上创建子进程或 RPC 套接字接口,这将很有用。但是,在这种模式下,用户代码不会与 IDLE 本身隔离。另外,选择“运行/运行模块”(F5)时,环境不会重新启动。如果您的代码已被修改,则要使更改生效,您必须 reload()受影响的模块并重新导入任何特定项(例如从 foo import baz)。由于这些原因,最好尽可能使用默认的子进程运行 IDLE。

自 3.4 版起不推荐使用。

24.6.4. 帮助和偏好

24.6.4.1. 其他帮助资源

IDLE 包含一个名为“ Python Docs”的帮助菜单项,它将打开 docs.python.org 上的大量帮助资源,包括教程。可以使用“配置 IDLE”对话框随时在帮助菜单中添加或删除选定的 URL。有关更多信息,请参见 IDLE 帮助菜单中的 IDLE 帮助选项。

24.6.4.2. 设定偏好

字体首选项,突出显示,键和常规首选项可以pass“选项”菜单上的“配置 IDLE”进行更改。密钥可以由用户定义; IDLE 随附了四个内置密钥集。此外,用户可以在“密钥”选项卡下的“配置 IDLE”对话框中创建自定义密钥集。

24.6.4.3. Extensions

IDLE 包含扩展Function。扩展的首选项可以使用“配置扩展”进行更改。有关更多信息,请参见 idlelib 目录中 config-extensions.def 的开头。当前默认 extensions 是:

首页