Coding style Pep8蟒蛇3.3矛盾

Coding style Pep8蟒蛇3.3矛盾,coding-style,python-3.x,whitespace,pep8,Coding Style,Python 3.x,Whitespace,Pep8,政治公众人物8有以下规则 空行 用两个空格分隔顶级函数和类定义 台词 类中的方法定义由一个空格分隔 线路 额外的空行可以(少量地)用于分隔多组数据 相关职能。在一组数据之间可以省略空行 相关的一行程序(例如,一组虚拟实现) 在函数中尽量使用空行来表示逻辑部分 Python接受control-L(即^L)表单提要字符作为 空白;许多工具将这些字符视为页分隔符,因此 您可以使用它们来分隔文件相关部分的页面。 注意,一些编辑器和基于web的代码查看器可能无法识别 控件-L作为表单提要,并将在其位置显示

政治公众人物8有以下规则

空行

用两个空格分隔顶级函数和类定义 台词

类中的方法定义由一个空格分隔 线路

额外的空行可以(少量地)用于分隔多组数据 相关职能。在一组数据之间可以省略空行 相关的一行程序(例如,一组虚拟实现)

在函数中尽量使用空行来表示逻辑部分

Python接受control-L(即^L)表单提要字符作为 空白;许多工具将这些字符视为页分隔符,因此 您可以使用它们来分隔文件相关部分的页面。 注意,一些编辑器和基于web的代码查看器可能无法识别 控件-L作为表单提要,并将在其位置显示另一个glyph

但是,在类定义中不能有一个完全空白的行

我脑海中的例子:

class bunny:
    def spam(self):
        pass

    def eggs(self):
        pass

#a second example
class bunny2:
    def __init__(self):
        self._eggs = None

    def eggs(self):
        doc = "Spam and Eggs"

        def fget(self, value):
            return self._eggs

        def fset(self, value):
            self._eggs = value

        def fdel(self):
            del self._eggs

        return locals()
    eggs = property(**eggs())
但是,垃圾邮件和鸡蛋之间的行必须是空行,这将导致意外缩进的分析错误。是否还有其他角色应该进入该空间?我的假设是将空格/制表符保留在“空白”行,因为它更具可读性

在第二个示例中,嵌套的def需要保持它们前面的行缩进,以便解析正常工作。
正确的PEP 8处理方法是什么?空行,带空格的空行,没有行?

如果您在REPL中工作,您不能有完全的空行。但无论如何,REPL中输入的代码没有理由严格遵守PEP 8。但是在文件中,最好遵循PEP 8。

您的代码显然有问题。可能是混合制表符和空格?不,不是混合空格和制表符,都是制表符。我的问题是基于那些空行必须保持它们所在块的缩进,使它们不是“空白”(空白仍然是一个字符)我的代码运行良好这些只是问题的示例。定义之间的空行应该包含空格,还是应该省略它们。在块的中间不能有完全空行,它们必须至少有它们出现的块的缩进水平。你在处理RePL吗?语言本身并没有像你说的那样的限制。好的,这就是我想弄明白的,我和一个RePL一起工作,所以你不能有空格。这完全有道理。谢谢