google python代码规范,python代码规范七大原则
虽然实现功能是编程的首要目的,但是在实际开发过程中,代码的可读性也是非常重要的。不同的人有不同的编程习惯和风格。对于一个团队来说,为了高效开发,遵守统一的代码规范是非常重要和必要的。
比如开发和维护数据分析的管道,可以说是信用生成公司的工程师们的日常工作。对于这样一个需要长期维护的项目,在开发阶段,遵循统一的代码规范,可以将任务拆分,分配给团队的不同人员进行开发,提高效率;在后期的维护中,也可以由不同的人来进行。
这一切都是基于统一的代码规范。对于python来说,官方的PEP8规范是使用最广泛和公认的代码规范。文档链接如下
https://www.python.org/dev/peps/pep-0008/涵盖的内容很多,本文简单介绍其中几个。
1.每条线的长度
每行的最大长度不超过80个字符。对于太长的行,需要分成多行。建议使用圆括号、中括号和花括号来隐式连接多行内容。不建议使用反斜杠。例子如下
x=(“这将建立一个很长很长的”
long long long long long long long string’)当然,当圆括号不能使用时,还是需要使用反斜杠,如下例所示。
用open(/path/to/some/file/you/want/to/read )作为file_1,\
打开(/path/to/some/file/being/written , w )作为file_2:
文件2 .写(文件1 .读())
2.多行代码的缩进和对齐
多行代码建议缩进,看起来直观,属于一个整体。一种写法是直接在圆括号、中括号、花括号后面换行,换行后缩进4个空格。示例如下
我的列表=[
1, 2, 3,
4, 5, 6,
]
foo=长函数名(
var_one,var_two,
var_three,var_four)
#为了区分函数内部的参数和代码,参数缩进了4个空格。
定义长函数名(
var_one,var_two,var_three,
var_four):
Print(var_one)当然这里不一定要4个空格,但是4个空格的写法是最常见的方式。另一种写法是在各种括号后第一个变量名后面换行,换行后的变量保持和第一个变量名一样的缩进。例子如下
foo=long_function_name(var_one,var_two,
var_three,var_four)
3.二元运算符的多行连接
二元运算符,即运算符两边都有变量的运算符。当语句过长时,将二元运算符写在行首,这样可以直观地看到对变量的运算。例子如下
收入=(毛收入_工资
应税利息
(股息-合格_股息)
-个人退休帐户扣除额
-学生_贷款_利息)
4.空间的使用
在二元运算符和它们所运算的对象之间添加一个空格。当多个优先级不同的运算符出现在同一个代码中时,在优先级低的两边添加空格,如下例所示。
i=i 1
已提交=1
x=x*2 - 1
hypot2=x*x y*y
C=(a b) * (a-b)括号中的元素和左右两边的括号之间不需要空格。逗号、冒号、分号前面不需要空格,后面要加一个空格。示例如下
垃圾邮件(火腿[1],{鸡蛋:2})
如果x==4:打印x,y;x,y=y,x多行语句,不需要手动用空格对齐。例子如下
x=1
y=2
Long_variable=3函数参数列表中等号两边不需要空格,如下例所示。
def复数(实数,imag=0.0):
回归魔法(r=real,i=imag)
5.分号的使用
即使语句很短,也不要用分号把多条语句写成一行,这样不容易看清程序结构。正确写作的例子如下
if foo==blah :
做某事
do_one()
do_two()
do_three()
6.笔记
写注释可以提高程序的可读性。对于函数、模块、类等。建议使用文档字符串编写注释。例子如下
def extract_fastq(id,fq):
通过输入id从fastq文件中获取seq。
参数:
id:输入序列号。
fastq文件
退货:
包含提取序列的列表
[
(At)人名(越)乙.GTAGCTGC ,
GCTAATGTGC.GTA ,
]
及格
7.模块导入
模块应该在一行中导入,导入到同一个模块中的多个方法可以在一行中编写,如下例所示。
导入操作系统
导入系统
从子流程导入Popen,管道
8.命名
变量名应该有意义。不要使用单个字母作为变量名。为了使变量名有意义,可能需要多个单词来表示它。这时候可以用下划线连接,比如hello_world。
变量名、函数名、模块名等。建议使用小写字母,常量都是大写字母,比如MAX_THREADS。
在Python中,变量名有以下约定
带单下划线的变量表示模块或类的私有变量。带双下划线的变量表示类中的私有双下划线,末尾带双下划线的变量是python的保留变量,比如__all__。不要这样写用户定义的变量。
除了以上几点,PEP8规范中还有很多细节。详情请参考官方文件。
目标
—如果你喜欢,分享给你的朋友—
关注我们,解锁更多精彩内容!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。