我想了解Python中关于程序部分之间换行的约定是什么?例如,考虑以下代码:
import os
def func1():
def func2():
在以下情况下,应该采用何种换行符号分隔:
import
模块和函数之间?- 函数本身内部的代码之间?
我已经阅读过 PEP8,但我想确认上述两个问题。
我想了解Python中关于程序部分之间换行的约定是什么?例如,考虑以下代码:
import os
def func1():
def func2():
在以下情况下,应该采用何种换行符号分隔:
import
模块和函数之间?我已经阅读过 PEP8,但我想确认上述两个问题。
如果您查看PEP8的'Blank Lines'部分,您会发现以下内容:
顶级函数和类定义周围应该有两个空行。
类内方法定义周围应该有一个空行。
可以使用额外的空行(谨慎使用)来分隔相关函数组。在一堆相关的单行实现之间可以省略空行(例如一组虚拟实现)。
在函数中适度使用空行以表示逻辑部分。
关于imports,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