考虑到:
e = 'a' + 'b' + 'c' + 'd'
我怎么把上面的内容写成两行呢?
e = 'a' + 'b' +
'c' + 'd'
考虑到:
e = 'a' + 'b' + 'c' + 'd'
我怎么把上面的内容写成两行呢?
e = 'a' + 'b' +
'c' + 'd'
当前回答
还可以在多行中中断方法(obj.method())的调用。
将命令括在圆括号“()”中,并跨越多行:
> res = (some_object
.apply(args)
.filter()
.values)
例如,我发现在链上调用Pandas/Holoviews对象方法很有用。
其他回答
如果你想因为一个很长的字符串文字而打断你的行,你可以把这个字符串分解成几个部分:
long_string = "a very long string"
print("a very long string")
将被
long_string = (
"a "
"very "
"long "
"string"
)
print(
"a "
"very "
"long "
"string"
)
两个print语句的输出:
一条很长的弦
注意做作中的圆括号。
还需要注意的是,将字面值字符串分解为多个部分,允许只在字符串的部分使用字面值前缀,并混合使用分隔符:
s = (
'''2+2='''
f"{2+2}"
)
使用反斜杠来结束一行的危险在于,如果在反斜杠之后添加了空格(当然,这很难看到),反斜杠就不再起到您所认为的作用了。
参见Python习语和反习语(适用于Python 2或Python 3)了解更多信息。
还可以在多行中中断方法(obj.method())的调用。
将命令括在圆括号“()”中,并跨越多行:
> res = (some_object
.apply(args)
.filter()
.values)
例如,我发现在链上调用Pandas/Holoviews对象方法很有用。
这可能不是python的方式,但我通常使用带有join函数的列表来编写长字符串,就像SQL查询一样:
query = " ".join([
'SELECT * FROM "TableName"',
'WHERE "SomeColumn1"=VALUE',
'ORDER BY "SomeColumn2"',
'LIMIT 5;'
])
摘自《Python漫游指南》(Line Continuation):
当一个逻辑代码行长于可接受的限制时,您需要将其拆分到多个物理行上。如果一行的最后一个字符是反斜杠,Python解释器将连接连续的行。这在某些情况下是有用的,但通常应该避免,因为它很脆弱:在行末反斜杠之后添加空白将破坏代码,并可能产生意想不到的结果。 更好的解决方案是在元素周围使用圆括号。如果行尾有一个未关闭的圆括号,Python解释器将连接下一行,直到圆括号关闭为止。同样的行为也适用于大括号和方括号。 然而,通常情况下,必须分割很长的逻辑行是一个迹象,表明您试图同时做太多事情,这可能会影响可读性。
话虽如此,这里有一个例子,考虑多次导入(当超过行限制时,在PEP-8中定义),也适用于字符串:
from app import (
app, abort, make_response, redirect, render_template, request, session
)