我找不到PEP 8是否讨论了相关函数的垂直距离(这在“清洁代码”第5章:格式化、部分垂直格式化>垂直距离)中讨论过,我想知道Python规则用于函数定义的顺序是什么。
阅读完“清洁代码本”之后,我将创建一个类,它按照使用的相同顺序定义这些方法,如下所示:
class A:
def main(self):
self._function_1()
self._function_2()
self._function_3()
def _function_1(self):
print("Hi 1!")
def _function_2(self):
print("Hi 2!")
def _function_3(self):
print("Hi 3!")但是,也许PEP 8指定了一些不同的东西,因为我看到一些脚本首先设置了最后使用的方法的定义。它们将上述示例修改为:
class A:
def main(self):
self._function_1()
self._function_2()
self._function_3()
def _function_3(self):
print("Hi 3!")
def _function_2(self):
print("Hi 2!")
def _function_1(self):
print("Hi 1!")我还听说,在Python中,函数的顺序取决于它们是否在类中。
如果你能给我有关这方面的信息,我将非常感激。
谢谢!
编辑。一个简短的澄清,如问题中的例子所示,我提到垂直距离是指方法的定义与它的使用有多近,两者之间没有其他的方法定义。
发布于 2022-08-16 22:04:44
看起来在PEP 8中,它就在风格指南的顶部。
空白行
用两行空行包围顶层函数和类定义。
类中的方法定义由一个空行包围。
额外的空白行可能被使用(少量)来分离相关的功能组。空行可以省略在一组相关的一行(例如,一组虚拟实现)之间。
在函数中使用空行,以指示逻辑节。
Python接受控件-L(即^L)表单提要字符作为空白;许多工具将这些字符视为页面分隔符,因此您可以使用它们来分隔文件相关部分的页面。注意,一些编辑器和基于web的代码查看器可能不会将control识别为表单提要,并将显示另一个字形。
https://stackoverflow.com/questions/65206963
复制相似问题