【问题标题】:Linux - Linebreak in IPythonLinux - IPython 中的换行符
【发布时间】:2012-04-17 00:33:02
【问题描述】:

您好,我是 Linux 新手,我非常喜欢在 shell 中编写和测试 python 代码的想法。但我的问题是如何在 IPython 中进行换行。每次我使用(我认为)“正常”快捷方式 shift+enter 时,代码都会被执行。功能键被禁用,键盘布局在我的笔记本电脑上工作正常,可能是什么问题?

【问题讨论】:

    标签: python linux shell ipython line-breaks


    【解决方案1】:

    我刚刚发现了一个由 Kenneth Falck 发布的解决方案: IPython newlines with ^V^J

    编辑多行代码块时使用Ctrl+V CTRL+J

    【讨论】:

    • 谢谢!尝试在 IPython 中编辑以前的块时,这让我很生气。
    • 仅供参考:在像 iTerm2 这样的终端程序中,您可以将其分配给一个热键。我将 ctrl-enter 设置为 0x16 0x0a 的“发送十六进制代码”。也可以使用 cmd-enter 或其他任何你觉得最舒服的方法。
    • 这个问题让我暂时关闭了 ipython。现在我回来了!谢谢!
    【解决方案2】:

    如果要进行换行,请以\ 转义字符结束行,就像在 Python 文件中所做的一样。 Shift+Enteripython 中没有任何特殊含义,实际上在shell 中的大部分位置。它在 Python 中也没有特殊含义。

    它在某些文本编辑器和文字处理器中确实具有特殊含义,尤其是 LyX 和 LibreOffice,当然还有某些网站(通过网络浏览器)。

    【讨论】:

      【解决方案3】:

      没有什么问题。 Python 代码是逐行执行的。

      如果您的代码在逐行执行时不起作用,那么从文件加载时它也不应该起作用(假设在这两种情况下都是“干净”的环境)。

      【讨论】:

      • 感谢@Marcin 的回复!如果我想在 Ipython 中编写一个函数或类似的东西,我需要不止一行来以正确的方式(缩进)来描述它,还是我错了?当我将def myfunction: 发送给编译器时,总是会出现错误。
      • @danny 这是一个错误,因为def myfunction: 在任何地方都不是有效的python。
      • 啊,你是对的! def myfunction():,对不起,我也是 python 新手 ;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-22
      • 2015-05-09
      • 2016-11-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多