我有兴趣知道程序部分之间换行符的 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