【问题标题】:python string with three dots after newline ... what is this thing?换行符后带有三个点的python字符串......这是什么东西?
【发布时间】:2016-01-09 05:55:09
【问题描述】:

我今天才第一次看到这个。这三个点的东西叫什么,它是做什么用的?我的猜测是帮助提高可读性。这是我看到的例子:

g = """
... S -> NP VP
... PP -> P NP
... NP -> Det N | Det N PP | 'I'
... VP -> V NP | VP PP
... Det -> 'an' | 'my'
... N -> 'elephant' | 'pajamas'
... V -> 'shot'
... P -> 'in'
... """

这是它的输出:

"\nS -> NP VP\nPP -> P NP\nNP -> Det N | Det N PP | 'I'\nVP -> V NP | VP PP\nDet -> 'an' | 'my'\nN -> 'elephant' | 'pajamas'\nV -> 'shot'\nP -> 'in'\n"

编辑。 IPython 解释器似乎在换行符后删除了“...”,而常规 python 解释器则没有。这一定是 IPython 特有的东西,毕竟不是语言特性(也许是为了简化解释器的复制粘贴?)

python 中的替代“...”用法。 前几天我刚刚在不同的上下文中看到了...,用于像这样的多索引 numpy 数组:ar[0,...,1]。它不影响中间的索引。

这是一个示例用法:

ar = np.zeros((10,20,30,40,50,60,70,80)) # 8-dimensional array
ar2 = ar[:1,2:6,...,72:]
ar2.shape() # prints (1, 4, 30, 40, 50, 60, 70, 8)

【问题讨论】:

  • 这是 Python 解释器会话的摘录,好像。
  • 三个点是解释器的神器,让你知道即使你按下了,逻辑行仍然没有被终止

标签: python string syntax ipython


【解决方案1】:

... 是解释器在需要您继续执行某种多行命令时打印的内容,例如 for 循环或多行字符串文字。它类似于>>>,而不是您应该实际输入的内容。

【讨论】:

    【解决方案2】:

    这里是the reference tutorial,用于python的交互模式。

    2.1.2.交互模式

    当从 tty 读取命令时,解释器在 交互模式。在这种模式下,它会提示输入下一个命令 主要提示,通常是三个大于号 (>>>);为了 默认情况下,它使用辅助提示提示的续行 三个点 (...)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-23
      • 1970-01-01
      • 2010-11-12
      • 2011-04-27
      • 1970-01-01
      相关资源
      最近更新 更多