Python PEP8: 空行规范
我想了解一下在Python中,程序各部分之间应该怎么用换行符?比如说,看看这个:
import os
def func1():
def func2():
那么,理想的换行分隔应该是怎样的呢?
- 在
import
模块和函数之间? - 函数之间呢?
我看过了 PEP8,但我想确认一下上面这两点。
3 个回答
3
用户8554766已经把这个问题解释得非常清楚了。
只需要做一个简单的修改。
#Standard system imports
import re
import glob
import sys
#Related third party imports
import requests
import scrapy
from flask import Flask
#Local application/library specific imports
from my_local_module import MyClass1, MyClass
89
如果你查看一下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
113
在代码中,导入语句和其他代码之间要留两行空白。
每个函数之间也要留两行空白。