参考文献:PEP 8
1. 代码布局
1.1 长句换行规范
- 一行的限制字符长度为79,如果是对于文档或者注释,限制长度为72.
- 一整行换行的方式一种是括号内隐含的换行,一种是通过反斜杠()来限制。
# method 1
attributes = ['query_time', 'tmp_table_sizes', 'rows_examined', 'tmp_disk_tables', 'tmp_tables',
'merge_passes', 'rows_sent', 'rows_affected', 'full_join', 'filesort_on_disk', 'full_scan',
'filesort', 'bytes_sent', 'lock_time']
# method 2
with open('/path/to/some/file/you/want/to/read') as file_1, \
open('/path/to/some/file/being/written', 'w') as file_2:
file_2.write(file_1.read())
- 关于二元运算符,既允许在运算符之前打破,也允许在运算符之后打破。不过新版代码为了可读性,一般是运算符之前打破。
income = gross_wages \
+ taxable_interest \
+ (dividends - qualified_dividends) \
- ira_deduction \
- student_loan_interest
1.2 空白行
- 顶级函数和类定义周围使用两行空白行包围。
- 类中的方法定义由单行空白行包围。
- 谨慎的使用空白行来表示逻辑。
1.3 import格式
- 每个import导入一个库。
import os
import re
from abc import ABCMeta, ABC
- import放在文件顶部,仅仅在模块注释和文档字符串之后。
- import导入的顺序以及分组:
- 标准库导入。
- 相关的第三方导入。
- 本地库导入。
按照顺序导入分组,并且在每个分组之间用一个空格来区分。
- 尽量避免通配符导入。
import *