如何在Python中包住长行而不牺牲缩进?
比如说:
def fun():
print '{0} Here is a really long sentence with {1}'.format(3, 5)
假设这超过了79个字符的建议限制。根据我的理解,这里是如何缩进的:
def fun():
print '{0} Here is a really long \
sentence with {1}'.format(3, 5)
然而,采用这种方法,续行的缩进与fun()
的缩进一致。这看起来有点难看。如果有人翻看我的代码,由于这个print
语句,缩进不均匀,看起来很糟糕。
我怎样才能在不影响代码可读性的情况下有效地缩进这样的行?
我可能会将长语句分割成多个较短的语句,以便将程序逻辑与长字符串的定义分开:
>>> def fun():
... format_string = '{0} Here is a really long ' \
... 'sentence with {1}'
... print format_string.format(3, 5)
如果字符串只是太长,而且你选择了一个短的变量名,那么通过这样做,你甚至可以避免分割字符串:
>>> def fun():
... s = '{0} Here is a really long sentence with {1}'
... print s.format(3, 5)