2013-05-07 235 views
14

所以这可能是一个愚蠢的问题,但我现在一直在寻找相当长的一段时间,即使我经常在源代码中看到它们,我也无法弄清楚它们做了什么。python中的三个箭头(“>>>”)是什么意思?

+3

他们的意思是你正在Python shell中运行你的代码,例如。在终端或IDLE等。我不确定这是否符合质询。他们是一个装饰... – jamylak 2013-05-07 13:17:03

+0

@jamylak不,它不。投票关闭NARQ :) – 2013-05-07 13:17:52

+0

除了python命令行提示符将打印>>>在你输入的东西,你不应该看到有效的源代码。请提供一个示例链接。 – nos 2013-05-07 13:18:02

回答

21

你不会在源代码中看到它,它可能是文档。它表示一个交互式会话,输入到“解释器”中的东西用这个标记。输出显示不带箭头。

事实上,python documentation往往具有在示例代码右上方的按钮>>>能够隐藏箭头(和输出),这样你可以复制和粘贴代码。

所示:
shown
隐藏:
hidden

+6

如果您确实在源代码中看到了它的文档字符串,它可能是[doctest](http://docs.python.org/2/library/doctest.html)的一部分。 – rakslice 2013-09-13 03:54:11

9

“>>>”是交互式Python解释器的提示,这意味着解释是准备拿到键入Python语句它存在的相当通常在Python程序文档中的示例中,以显示哪些命令可以使用,以及将这些命令提供给交互式解释器的结果。例如,print声明的文件中,人们可以举这个例子:

>>> print "Hello world." 
Hello world. 

这将与交互式Python解释器会话的实际片段。

IPython一个有趣的特点是,它忽略领先>>>,这意味着您可以复制并从这些文件粘贴代码,而无需去除领先>>>

In [1]: >>> print "Hello world." 
Hello world. 

(在IPython的提示是In [n]:,其中n正在计数发出的交互式命令。)

+2

值得指出的是,在IPython中,还有'Out [n]'显示* return *值:'In [4]:1 + 1'; '出[4]:2'(与您的示例中的打印值相反)。标准的python解释器在默认情况下不会做出这种区分。 – askewchan 2013-05-07 18:10:01

3

这里是我对>>>的一些发现,因此...补充了以前的答案。

当您在Python中运行时,您只能看到>>>interactive mode提示/询问用户“下一个命令”。技术细节here


>>>...不是写在石头上。这些存储在sys.ps1sys.ps2,因此可以更改。进一步阐述了here

>>> import sys 
>>> sys.ps1 = "$ " 
$ 

每个标准Python有此提示,除非你改变>>>...你(三立)希望什么后自己编译的Python。除此之外,似乎有一种方法可以通过更改/usr/lib/python2.7/code.py来更改所有未来的互动会话,但我无法找到任何成功。

+0

既然你提出了'...',你应该也可以提到它是Python3中'Ellipsis'的符号。 – kojiro 2013-09-21 21:57:39

+0

@kojiro我不太明白你的观点(对Python3不太了解)。但我故意试着继续关注'2.7'看问题标签。 – 2013-09-22 11:52:21