我有时需要使用多行字符串,但在嵌套块中。这是可行的,但可读性很差:
CONDITION1 = CONDITION2 = CONDITION3 = True
if CONDITION1:
if CONDITION2:
s = """jkljkj
dfkjslfds
sqjdlqkj"""
elif CONDITION3:
s = """azeazea
azeoiuaez
azeytzae
azetzae"""
使用:
if CONDITION1:
if CONDITION2:
s = """jkljkj
dfkjslfds
sqjdlqkj"""
(如Pythonic way to create a long multi-line string中所建议的)不是选项,因为字符串s
将是:
jkljkj
dfkjslfds
sqjdlqkj
留下不需要的空间。你知道吗
问题:如何在具有良好可读性的嵌套块中使用多行字符串?
将字符串包装在a call to ^{} 中,它将以清理docstring的方式清理它(删除前导和尾随空格,以及任何级别的常见缩进)。你知道吗
^{} 也是一个选项,但它更难看,因为它要求您在第一行上不放任何文本,并显式使用行连续字符以确保每一行(不仅仅是第二行和以后的行)都有相同的前导缩进:
注意,虽然SO上的代码块不能正确地显示它,
dedent
留下了空的最后一行(将结束的'''
单独放在一行上),而cleandoc
会将它删除。你知道吗你试过用“\”吗。例如:
相关问题 更多 >
编程相关推荐