Python REPL只要完全鍵入就自動執行每個命令。這就是爲什麼它被稱爲「讀取評估打印循環」的原因。它接受一個輸入,對其進行評估,然後打印結果。
如果你想同時執行兩個完整的命令,你可以把一個分號之間,就像這樣:
print("one"); print("two")
我說:「完全輸入」上面,因爲某些命令本身需要多條線路,所以在命令「完全輸入」之前,Python必須接受多行輸入。三種類型的命令工作如下:流控制命令(def
,while
,if
,for
等,適用於它們下面的幾個縮進行),多行表達式(括號內或括號內的計算)或使用反斜槓的語句(\
)以指示它在下一行繼續。所以如果你輸入下面的任何一個塊,Python會在評估之前等待塊完全完成。
if 1 + 1 == 2:
print "True"
else:
print "False"
print(
1 + 1
)
print \
1 + 1
您也可以結合這兩種策略,並鍵入是這樣的:
print("one"); \
print("two")
Python會等待所有命令鍵入,然後在運行一次他們倆。但我從來沒有見過任何人以這種方式編寫代碼。
或者,您可以在不同的文本編輯器中一起鍵入幾個命令,然後將它們粘貼到Python REPL中,例如將以下內容複製並粘貼到REPL中(但您會在命令之間打印結果):
print("one")
print("two")
或者,您可能幾乎可以準確地獲得您最初期望的行爲,即使用不同的Python接口。 IPython Notebook是一個不錯的選擇,或者您可以嘗試Spyder或PyCharm編輯器,它們讓您選擇幾行代碼並運行它們。
或者,如果您想要一次運行所有腳本的較長腳本,最好的方法是將其輸入到文本文件(例如script.py)中,然後告訴python運行它,例如,從系統命令提示符(不是Python解釋器)輸入python script.py
,或在IDLE編輯器中按F5。
當涉及到python有運行腳本,並在解釋器中運行命令(我希望你的書會談論這個)。看起來你正在使用像IDLE或IPython這樣的交互式解釋器。這將一次運行一行,除非你使用更復雜的語句(如果爲def func)。 – daveydave400
你可以做的最好的事情之一,以獲得在這個社區良好的接待(...以及[幫助中心](http://stackoverflow.com/help)給出的其他建議)是使用標題能夠以您所問的實際問題的獨特方式準確描述您的問題。我試圖編輯以獲得這種效果。 –
@ AlexanderO'Mara,...嗯。由於另一個問題的答案實際上並非特定於IDLE,我們可能應該編輯它的標題而不是暗示它們是?我可以看到它爲什麼沒有*看起來像*重複到OP,如果它出現在「做這些其他問題回答你的問題?」名單。 –