Python PEP8:空行约定

问题描述 投票:28回答:2

我有兴趣知道程序部分之间的换行符的Python约定是什么?例如,考虑一下:

import os

def func1():

def func2():

什么应该是理想的换行间隔:

  1. import模块和功能?
  2. 功能本身?

我读过PEP8,但我想证实以上两点。

python pep8
2个回答
43
投票
  1. 导入语句和其他代码之间有两个空行。
  2. 每个功能之间有两个空行。

12
投票

如果有人用'Blank Lines' section of PEP8检查 - 你会发现以下内容:

使用两个空行环绕顶级函数和类定义。

类中的方法定义由单个空行包围。

可以使用额外的空白行(谨慎地)来分离相关功能组。在一堆相关的单行(例如,一组虚拟实现)之间可以省略空行。

在函数中使用空行,谨慎地指示逻辑部分。

关于imports,PEP8指出:

进口通常应分开

...

应按以下顺序对导入进行分组:

  1. 标准库导入
  2. 相关的第三方进口
  3. 本地应用程序/库特定导入

您应该在每组导入之间添加一个空行。

因此,对于您的示例,符合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
© www.soinside.com 2019 - 2024. All rights reserved.