2013-05-07 191 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