Line在Python源代码中打破一个字符串

时间:2014-12-08 15:37:07

标签: python line-breaks

我有

return "Cargo(location=%s, cargocapacity=%s, cargo=%s, name=%s, mast_count=%s)" \
        % (
            self.location,
            self.cargocapacity,
            self.cargo,
            self.name,
            self.mast_count)

所以第一行太长了。我怎么能破线? 如果我做

return "Cargo(location=%s, cargocapacity=%s, cargo=%s, \
       name=%s, mast_count=%s)" \
        % (
            self.location,
            self.cargocapacity,
            self.cargo,
            self.name,
            self.mast_count)

并打印返回的字符串我得到了很多空间。

有办法做到这一点吗?也许用单个参数加入字符串?但这会增加更多的代码行。

2 个答案:

答案 0 :(得分:2)

将字符串放在一起"like " "this"会将它们合并为一个"like this"。它可以跨线使用。

return ("Cargo(location=%s, cargocapacity=%s, cargo=%s, "
        "name=%s, mast_count=%s)") % (
        self.location,
        self.cargocapacity,
        self.cargo,
        self.name,
        self.mast_count)

答案 1 :(得分:1)

您可以在括号之间拆分字符串,让Python在编译时自动加入它们:

return (
    "Cargo(location=%s, cargocapacity=%s, cargo=%s, "
    "name=%s, mast_count=%s)") % (
            self.location,
            self.cargocapacity,
            self.cargo,
            self.name,
            self.mast_count)

如果在行结束前使用\,则不需要括号,但如果使用括号,则只需更清晰。