根据 PEP 8 在 Python 中中断一个长函数

Breaking a long function in Python according to PEP 8

我阅读了文档,但它并没有真正处理我在管理的项目中遇到的函数类型。像这样:

class ReallyLongChildClassName(Parent):
    def complex_function_name(self, obj=None):
        if self.condition:
            return 'bar'
        else:
            return super(ReallyLongChildClassName, self).complex_function_name(request, obj)

最后一行明显超出了指定的 79 个字符长度。打破这些类型功能的正确方法是什么?我说的是那些使用 . 运算符调用更多函数的函数。

我有几个不同的想法,但真的不知道哪一个是标准方法。例如:

class ReallyLongChildClassName(Parent):
    def complex_function_name(self, obj=None):
        if self.condition:
            return 'bar'
        else:
            return super(
                ReallyLongChildClassName,
                self
            ).complex_function_name(request, obj)

只要保持适当的缩进和行长,一切都可以。没有单一的,最好的款式,大家可以根据自己的口味选择:)

有一些格式化代码的工具,我向您推荐的工具是 Black (https://github.com/ambv/black)。