Ответ 1
- Две пустые строки между операторами импорта и другим кодом.
- Две пустые строки между каждой функцией.
Мне интересно знать, что такое соглашение Python для перевода строки между частями программы? Например, рассмотрим это:
import os
def func1():
def func2():
Каким должно быть идеальное разделение новой строки между:
import
и
функции?Я прочитал PEP8, но я хотел подтвердить два приведенных выше пункта.
Если вы проверите раздел "Пустые строки" в PEP8 - вы обнаружите следующее:
Окружите определения функций и классов верхнего уровня двумя пустыми строками.
Определения методов внутри класса заключены в одну пустую строку.
Дополнительные пустые строки могут использоваться (экономно) для разделения групп связанных функций. Пустые строки могут быть пропущены между группой связанных строк (например, набором фиктивных реализаций).
Избегайте пустых строк в функциях, чтобы обозначить логические разделы.
В отношении импорта PEP8 заявляет:
Импорт обычно должен быть в отдельных строках
...
Импорт должен быть сгруппирован в следующем порядке:
- импорт стандартной библиотеки
- связанный сторонний импорт
- локальный импорт приложений/библиотек
Вы должны поставить пустую строку между каждой группой импорта.
Итак, для вашего примера форматирование в соответствии с PEP8 будет следующим:
import os
def func1():
def func2():
Просто для более полной иллюстрации:
import re
import glob
import sys
import requests
import scrapy
from flask import Flask
from my_local_module import MyClass
def top_level_function1():
pass
def top_level_function2():
pass
class TestClass(object):
def class_method1():
pass
def class_method2():
pass
class TestClass2(object):
def class2_method1():
pass
def class2_method2():
pass
Пустые строки Окружите определения функций и классов верхнего уровня двумя пустыми строками.
Определения методов внутри класса заключены в одну пустую строку.
Дополнительные пустые строки могут использоваться (экономно) для разделения групп связанных функций. Пустые строки могут быть пропущены между группой связанных строк (например, набором фиктивных реализаций).
Избегайте пустых строк в функциях, чтобы обозначить логические разделы.
Python принимает символ перевода формы control-L (т.е. ^ L) в качестве пробела; Многие инструменты обрабатывают эти символы как разделители страниц, поэтому вы можете использовать их для разделения страниц связанных разделов вашего файла. Обратите внимание, что некоторые редакторы и веб-средства просмотра кода могут не распознавать control-L как канал формы и отображать на его месте другой глиф.