在没有Python空格的情况下打破长字符串

时间:2013-10-04 23:29:27

标签: python string

所以,这是我的代码片段:

return "a Parallelogram with side lengths {} and {}, and interior angle 
{}".format(str(self.base), str(self.side), str(self.theta)) 

它超越了80个字符,以便在一行中获得良好的样式,所以我这样做了:

return "a Parallelogram with side lengths {} and {}, and interior angle\
{}".format(str(self.base), str(self.side), str(self.theta)) 

我添加了“\”来分解字符串,但是当我打印它时会出现这个巨大的空白。

如何在不扭曲代码的情况下拆分代码?

谢谢!

2 个答案:

答案 0 :(得分:16)

你可以在整个表达式中加上括号:

return ("a Parallelogram with side lengths {} and {}, and interior "
        "angle {}".format(self.base, self.side, self.theta))

或者您仍然可以使用\继续表达式,只需使用单独的字符串文字:

return "a Parallelogram with side lengths {} and {}, and interior " \
       "angle {}".format(self.base, self.side, self.theta)

请注意,不需要在字符串之间放置+; Python自动将连续的字符串文字连接成一个:

>>> "one string " "and another"
'one string and another'

我更喜欢自己的括号。

str()电话是多余的; .format()默认为您执行此操作。

答案 1 :(得分:1)

不要破坏它们之间的界限,而是使用由续行分隔的两个字符串,但最好是使用括号

return ("a Parallelogram with side lengths {} and {}, and interior angle "
"{}".format(1, 2, 3))