如何在没有括号或运算符的python中打破长行?

How to break long lines in python that have no brackets or operators?

本问题已经有最佳答案,请猛点这里访问。

这与我在本站点上发现的类似问题不同,因为所讨论的代码在字符限制之前没有任何运算符或括号,因此很容易拆分。我在python中有几行长的行,在79个字符之前没有运算符或括号。举个例子:

1
self.caller.parent.parent.parent.caller.parent.bar.ids.actionview.remove_widget(self.caller.parent.parent.parent.caller.parent.bar.ids.actionview.startbutton)

上面的行在括号前有72个字符,并且在类内的函数定义内,因此每个嵌套级别的间距为4个字符,括号前有81个字符。

处理这个问题的首选方法是什么?


对于您的特定示例,我希望如果您首先解决了"使此代码可读"的问题,那么可以自然地适应79个字符。

也就是说,可以添加括号:

1
2
3
4
5
6
7
(self.caller.parent.parent
 .parent.caller.parent.bar
 .ids.actionview.remove_widget(
    self.caller.parent.parent
    .parent.caller.parent
    .bar.ids.actionview.startbutton)
)