本文根据Guido van Rossum 等人著作的《PEP 8 -- Style Guide for Python Code》一文以及本人个人习惯(根据个人习惯做了删减,保留个人认为适合自己的)而来,供自己以后学习书写以作参考。
一,每个缩紧级别建议使用4个空格。
1)可与开始分隔符(如左括号)空一位对齐,保证分隔符后面内容对齐;
2)可额外增加空格以区分参数和其他;
3)悬挂缩进,如左右括号对齐;
# 与开始分割符(括号等)对齐
foo=long_function_name(var_one,var_two,
var_three,var_four)
# 增加空格(除正常缩进的以外的)符以区分参数和其他的缩进
def foo=long_function_name(var_one,var_two,
var_three,var_four) # 正常缩进4个,加上2个,共6个缩进,以区分参数和print函数
print(var_one)
# 悬挂缩进
foo=long_function_name(
var_one,var_two,
var_three,var_four)
4)if等函数内部参数使用过长,可使用括号等分隔符进行换行缩进;
5)多行结构上的右括号/括号/括号可以排列在列表最后一行的第一个非空白字符下。
#if函数内部参数过长,换行空格书写
if(this_is_one_thing
and this_is_another_thing):
do_something()
#分隔符对齐第一位
my_list = [
1, 2, 3,
4, 5, 6,
]
二,制表符或者空格
Python3之允许使用空格符,因此缩进建议统一使用空格符。
三,每行最大行文字符数
建议每行最多不超过79个字符。
对于结构限制较少的长文本块(如注释,路径字符串),长度建议限制在72个字符。如果字符串长度较长可以用括号拆分成多行。
四,运算符后是否需要分行
建议分行且运算符作为每一行的开头,但是两个或多个参数运算结果在整个运算公式中具有一定物理意义时,可将此单独两个或多个参数运算公式放在一行。
# 收入计算
income=(gross_wages # 工资总额
+taxable_interest # 应税利息
+(dividends-qualified_dividends) # (股息-合格股息)
-ira_deduction # 扣减
-student_loan_interest) # 学生贷款_利息
五,空行
1)类定义和 top-level 函数后建议应该空两行,以示区分;
2)函数中尽量不使用空行;
3)相关联的模块或函数之间可以不用空行。
六,源文件编码格式
1)Python3源文件应该使用UTF-8格式;
2)标志符必须使用ACSII码值,用英文名称。
七,import
1) import应该分行书写,同一库的建议合并书写;
import os
import sys
from subprocess import Popen,PIPE
2)import应该按照以下顺序;
- 标准库
- 第三方库
- 本地库或者某些特定的库
3)建议使用绝对路径 ,绝对路径过长时可拆开;
import mypkg.sibling
from mypkg import sibling
from mypkg.sibling import example
4)通配符(from <module> import *)尽量避免。