#python #function #pep8
#python #функция #pep8
Вопрос:
Я не могу найти, говорится ли в PEP 8 о вертикальном расстоянии зависимых функций (это описано в книге Clean Code, глава 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 порядок функций варьируется в зависимости от того, находятся ли они в классе или нет.
Если вы можете дать мне информацию об этом, я буду очень благодарен.
Спасибо!
Комментарии:
1. Я сомневаюсь, что существует какой-либо стандарт для порядка методов, за исключением того, что я ожидаю
__init__
быть первым.2. Я только что проверил PEP-8, он ничего не говорит о порядке методов. Я не уверен, что вы подразумеваете под «вертикальным расстоянием».
3. Ваш вопрос предполагает, что методы используются только из одного места, в противном случае понятие «последний использованный» не имеет смысла. Но это вряд ли будет обычным явлением.
4. Спасибо бармену. Я использую «вертикальное расстояние», чтобы следовать термину, используемому в книге Clean Code. Это означает, что они должны быть вертикально близки, без другого кода между ними (насколько это возможно). В тексте книги говорится: «Зависимые функции. Если одна функция вызывает другую, они должны быть близко по вертикали, а вызывающий должен быть выше вызываемого, если это вообще возможно «.
5. Опять же, это предполагает, что функции используются только вместе. Большинство функций предназначены для более общего использования, а не только для одной зависимой функции.