换行符后带有三个点的python字符串...这是什么?

ant*_*ell 3 python string syntax ipython

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

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'
... """
Run Code Online (Sandbox Code Playgroud)

这是它的输出:

"\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"
Run Code Online (Sandbox Code Playgroud)

编辑。 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)
Run Code Online (Sandbox Code Playgroud)

use*_*ica 5

...是什么样的解释器输出时,它需要你继续某种多行命令的,就像一个for环或多行文字字符串。它类似于>>>,而不是您应该实际键入的内容。