在Python中是否有用于格式化的键盘快捷键?

时间:2010-09-29 02:47:23

标签: python matlab formatting keyboard-shortcuts

在Matlab中编写代码后,我们可以使用ctrl+A+ctrl+Ictrl+A+ctrl+J来格式化代码(注释,循环对齐等)。 Python中是否有类似或任何有用的键盘快捷键?

另外,就像我们可以使用向上箭头在Matlab中复制我们之前的命令窗口历史记录一样,是否有可能或某些键盘快捷键在Python中执行此操作?

谢谢!

3 个答案:

答案 0 :(得分:7)

Python是一种编程语言,而不是集成开发环境(IDE),因此它没有“键盘快捷键”等。每个给定的开发环境可以提供不同的设施等。您似乎将GNU Readline(通常在许多Python可执行文件捆绑的简单文本模式解释器环境中使用)视为“Python的一部分” - 但这是一种误解; readline是一个完美的通用库,用于在命令行环境中进行交互式输入,而Python只是使用它的众多程序中的一个。通常与Python捆绑在一起的另一个环境是IDLE,一个GUI,当然编辑工具完全不同。有许多第三方环境,例如“Wing IDE”,每个环境都提供了与其他所有环境截然不同的编辑功能和设施。

总结一下:你的问题对于 Python 本身没有比对C,Java,或任何其他编程语言更有意义。不要让捆绑的IDE附带的(通常是专有的)编程语言让你对这个主题感到困惑!

答案 1 :(得分:1)

如果您使用emacs,那么

  1. 您可以在一行的任何位置按 tab ,它会相对于前一行正确缩进该行(假设当前块正在继续)。

    < / LI>
  2. 您可以标记文本选择并按 Cc &lt; Cc &gt; 左右移动文本块。

  3. 这是我实际使用的两个规律性。我确信任何其他编辑都可以做的事情,emacs也可以做;)

    总的来说,格式化python代码对于程序来说很难做,因为缩进会严重影响语义。

    考虑

    for i, item in enumerate(lst):
        if i % 2:
            sum += i * int(item)
        return sum
    

    for i, item in enumerate(lst):
        if i % 2:
            sum += i * int(item)
    return sum
    

    你真的希望你的编辑决定你的意思吗?

答案 2 :(得分:1)

如果您使用Python IDLE(在Windows上附带Python,在Linux和Unix版本上可用),大多数格式化工作都是为您完成的。例如,IDLE会在:之后自动缩进循环和任何其他代码块。这比在gedit,emacs,vim或Notepad等标准文本编辑器中编写Python脚本要好得多,特别是因为只需按F5即可运行脚本。

对于以前的命令,Python shell的最大缺点是你不能按向上箭头来获取最后一个命令。但是,如果使用非GUI shell(在Windows命令提示符或Unix终端中,命令为python),则可以使用shell的命令调用来获取最后一个命令。