簡體   English   中英

在Python控制台中終止多行字符串

[英]Terminate multi-line string in Python console

在PyCharm中,如果我打開Python控制台,我就無法終止多行字符串。

以下是IDLE中用於比較的內容:

>>> words = '''one
two
three'''
>>> print(words)
one
two
three
>>>

但是如果我在PyCharm中的交互式Python控制台中嘗試相同的事情,控制台在輸入最后3個撇號后需要更多輸入。 誰知道為什么?

>>> words = '''one
... two
... three'''
...

我不確定上下文是什么,但在很多情況下,從你想要在不同行上打印的東西制作一個元組/列表並用"\\n"加入它們會更容易:

>>> words = "\n".join(["one", "two", "three"])

您也可以嘗試使用三個雙引號符號。 也許PyCharm對被分隔的內容感到困惑。 我總是在Python中想到這一點,因為字符串可以通過純粹的並置來連接。 如此有效, '' 'one\\n\\two\\nthree' ''應該采用三個不同的字符串,(1) '' (2) 'one\\n\\two\\nthree'和(3) '' ,並連接他們。 由於不應該需要它們之間的空間(最不驚訝的原則),因此對我來說更直觀的是三重單(或雙) - 引用將被解釋。 但由於三重版本是它自己的特殊角色,它不會那樣工作。

在IPython中,您提供的語法沒有問題。 IPython還提供了一個很好的魔術命令%cpaste ,您可以在其中粘貼多行表達式或語句,然后使用--分隔最后一行,並在按Enter鍵時執行粘貼的塊。 我更喜歡IPython(在Emacs中的緩沖區中運行)到PyCharm,但也許你可以看看是否有類似的魔術函數,或者只是查找該魔術函數的源代碼並自己編寫一個?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM