python 进阶(4) -- PEP8 规范
Nov. 8, 2017, 3:02 p.m. pinsily 101 0
[HTML_REMOVED][HTML_REMOVED]你让我知道,触摸到头顶的天空是什么感觉[HTML_REMOVED][HTML_REMOVED]
前序
学了 python 也有一段时间了,现在在用着 python3,时间久了,也应该慢慢地精进一下,这里从 PEP8 的官网翻译整理一下,日后慢慢规范,当然也不能生搬硬套,一个标准而已
总的归结为如下几个方面: - 每个缩进层级使用 4 个空格 - 每行最多 79 个字符 - 采用 ASCII 或 UTF-8 编码文件 - 在文件顶端,注释和文档说明之下,每行每条 import 语句只导入一个模块,同时要按标准库、第三方库和本地库的导入顺序进行分组 - 在大中小之间或者逗号之前没有额外的空格 - 类的命名采用骆驼命名法(CameCase); 异常的定义使用 Error 前缀;函数的命名使用小写字符(separated_by_underscored)
缩进(Indentation)
最基本的:使用 4 个空格完成一个缩进,一个缩进为一个缩进等级(indent level)
当存在换行情况时,遵循下面缩进规范:
- 当第一行有参数时,对齐界定符排列(比如括号)
# Aligned with opening delimiter. foo = long_function_name(var_one, var_two, var_three, var_four)
- 悬挂缩进(hanging indent): 第一行没有参数
# Hanging indents should add a level. foo = long_function_name( var_one, var_two, var_three, var_four)
- 成对的大中小括号(closing brace/bracket/parenthesis)可以写成多行格式,结束时对齐最后一行,也可以对齐开始行
my_list = [ 1, 2, 3, 4, 5, 6, ] my_list = [ 1, 2, 3, 4, 5, 6, ]
Tabs or Spaces?
在 py3 中只能使用同一种风格,这个之后再解决,在复制黏贴的时候经常报错,还不知道是不是这个原因而且该怎样解决
最大行长度
所有的行最大长度为 79 个字符,所以需要在适当的时候进行换行处理
断行在操作符之前
income = (gross_wages + taxable_interest + (dividends - qualified_dividends) - ira_deduction - student_loan_interest)
Black Lines
- 最顶层的函数或类之间隔两个空行
- 定义在类里面的方法之间隔一个空行
Imports
- 同一行导入同一个库函数
import os import sys
- 按照标准库、第三方库、本地库排序,中间使用一行空行隔开
空格
- 在大中小括号之间不要有空格
spam(ham[1], {eggs: 2})
- 在逗号之后加上小括号间不要空格
foo = (0,)
- 逗号、冒号、分号之前不要空格
if x == 4: print x, y; x, y = y, x
- 其他
Yes: spam(1) No: spam (1)
# Yes: x = 1 y = 2 long_variable = 3 # No: x = 1 y = 2 long_variable = 3
i = i + 1 submitted += 1 x = x*2 - 1 hypot2 = x*x + y*y c = (a+b) * (a-b)
- 参数的赋值等号两边不要空格
def complex(real, imag=0.0): return magic(r=real, i=imag)
后续
暂时就整理这些,之后需要或者碰到新的再继续更新
评论列表
Comments( 0 )
暂时没有评论!