[英]How to write a multi-line command in Python
我有以下要使用的 Python 代碼:
initialMinute = int(input('In the initial hour of {0}:00, enter the minute of arrival'.format(initialHour))
它有點長,所以我不希望它在一行上。 我怎樣才能分解語句,使其包含兩行?
在 Python 中,實際上不需要串聯( +
操作)來組合字符串。 相鄰行上的文字字符串將固有地連接起來:
initialHour = 4
initialMinute = int(input('In the initial hour of '
'{0}:00, enter the minute of arrival: '
.format(initialHour)))
這實際上比使用+
操作更有效一點,因為該操作將在“編譯時”而不是“運行時”完成。 不是性能是這里的關鍵問題。
但是像這樣的字符串連接有一些相當精確的(閱讀:煩人的)規則。 知道可以使用括號使這種“隱式連接”更可靠會有所幫助。 這可以幫助您格式化代碼,以提高代碼的簡單性和可讀性。 例如:
initialHour = 4
question = ('In the initial hour of '
'{0}:00, enter the minute of arrival: '
).format(initialHour)
initialMinute = int(input(question))
如果沒有括號,您的字符串連接可能會違反 Python 的源代碼縮進規則。 但是括號表示“我們還沒有完成!繼續等待。” 將右括號放在format
方法的行上有助於將 format 方法連接到現在組合的字符串。
如果您不知所措,您還可以使用反斜杠字符 ( \\
) 結束行以表示“該行繼續!” 這可能會變得凌亂並有自己的一套陷阱,但可以在緊要關頭提供幫助。
您可能還不需要這個,但是如果您可以安裝外部模塊,我的textdata模塊旨在解決此類問題。 有了它,您不必擔心字符串連接的細節,而是將文本放入多行字符串中,並讓模塊找出細節。 例如:
from textdata import *
question = textline("""
In the initial hour of
{0}:00, enter the minute of arrival:
""")
那么question
將是:
'In the initial hour of {0}:00, enter the minute of arrival:'
對於這個字符串,它是矯枉過正的。 但是,如果您在程序中包含大量文本——尤其是涉及的、縮進的文本,如 HTML、XML 或 SQL——它會使事情變得更容易。
通常,您可以使用\\
(反斜杠)字符來指示您的語句繼續到下一行。 在您的情況下,長線是由字符串引起的,因此您必須做其他事情。
您可以使用+
分隔字符串:
initialHour = 4
initialMinute = int(input('In the initial hour of ' +
'{0}:00, enter the minute of arrival: '.format(initialHour)))
或者您可以在括號邊界處分隔語句:
initialMinute = int(input(
'In the initial hour of {0}:00, enter the minute of arrival: '.format(
initialHour)))
您可以使用\\
將字符串分成多行。 像這樣使用它:
var = "long string... \
long string..."
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.