我有以下要使用的Python代码:
initialMinute = int(input('In the initial hour of {0}:00, enter the minute of arrival'.format(initialHour))
有点长,所以我不想在一条线上。我如何分解声明以便它可以包含两行?
答案 0 :(得分:2)
在Python中,您实际上并不需要连接(+
操作)来组合字符串。相邻行上的文字字符串将固有连接:
initialHour = 4
initialMinute = int(input('In the initial hour of '
'{0}:00, enter the minute of arrival: '
.format(initialHour)))
这实际上比使用+
操作更有效,因为操作将在"编译时间"而不是"运行时。"并非性能是这里的关键问题。
但像这样的字符串连接有一些相当精确的(读取:nitsy和恼人的)规则。它可以帮助你知道你可以使用括号来进行这种"隐式连接"更可靠。这可以帮助您格式化代码,以实现更简单和可读性。例如:
initialHour = 4
question = ('In the initial hour of '
'{0}:00, enter the minute of arrival: '
).format(initialHour)
initialMinute = int(input(question))
如果没有括号,您的字符串连接可能会违反Python的源代码缩进规则。但是括号表示我们还没有完成!继续等待。"将右括号放在format
的行上
方法有助于将格式方法连接到现在组合的字符串。
如果您在智慧结束时,您也可以使用反斜杠字符(\
)结束行以发出信号"该行继续!"这可能会变得混乱,并且有自己的一套陷阱,但可以帮助解决。
您可能还不需要这个,但如果您可以安装外部模块,我的textdata模块旨在解决此类问题。有了它,您不必担心字符串连接的细节,而是将文本放入多行字符串中,让模块弄清楚细节。 E.g:
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等缩进文本 - 它会使事情变得更容易。
答案 1 :(得分:1)
通常,您可以使用\
(反斜杠)字符来表示您的语句会转到下一行。在您的情况下,长行是由字符串引起的,因此您必须执行其他操作。
您可以使用+
:
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)))
答案 2 :(得分:0)
您可以使用\
将字符串分成多行。像这样使用它:
var = "long string... \
long string..."