python pep8_Python PEP8标准

1.编码

如无特殊情况,文件一律使用utf-8编码

如无特殊情况,文件头部必须添加# -*- coding:utf-8 -*- 标志

2.代码

统一使用四个空格缩进

每行代码不超过80个字符

自然语言使用双引号,如input里面,或者错误信息,正则表达式使用原生的双引号r" ",

机器标识使用单引号,如dict里面的key,因此代码里面多数应该使用单引号。

文档字符串使用三个双引号。""" """

3.空行

模块级函数和类定义之间空两行

类成员函数之间空一行

可以使用多个空行分隔多组相关函数

函数中可以用空行分隔出逻辑相关的代码

classA:def __init__(self):pass

defhello(self):pass

defmain():pass

4.import语句

import 语句应当分行书写

import语句应当使用absolute import

import语句应当放在文件头部,置于模块说明及docstring之后,全局变量之前

import语句应该按照顺序排列,每组之间用一个空格分隔,按照内置模块,第三方模块,自己所写的模块调用顺序,同时每组内部按照字母表顺序排列

#Right

importosimportsysfrom subprocess importPopen, PIPEfrom foo.bar importBar#False

importos, sysfrom ..bar import Bar

5.空格

在二元运算符两边各空一格:[=, - ,+ =, > , in , is ,not , and]

i = i + 1x= x * x + 2c= (a + b) * (a - b)

函数的参数列表中,","之后要有空格,默认值等号两边不要添加空格,左括号之后,右括号之前不要有空格

defcomplex(real, image=0):pass

6.换行

python支持括号内的换行,这时有两种情况:

1.第二行缩进到括号的起始处

2.第二行缩进四个空格,适用于起始括号就换行的情形

a =list(var1, var2,

var3)

a=list(

var1,

var2,

var3)

7.注释

#号后需空一格,不要使用无意义的注释

x = x + 1 #边框加粗一个像素

8.docstring

1.所有公共模块,函数,类,方法都应该有docstring。

9.命名规范

应避免使用小写字母l,大写字母O或I单独作为一个变量,以区分数字1和0.

包和模块使用全小写命名,,尽量不要使用下划线

类名使用CamelClass命名风格,内部类可用一个下划线开头

函数使用下划线分隔的小写命名

常量使用以下划线分隔的大写命名

MAX_OVERFLOW = 100

classFooBar:deffoo_bar():pass

单字符命名应该尽量避免,除了计数器和迭代器

模块名尽量小写命名,首字母小写,尽量不要使用下划线(除非多个单词且数量不多的情况)

类名:首字母大写,私有类可以用一个下划线开头

将相关的类和顶级函数放在同一个模块中,没必要限制一个类一个模块

函数名:一律小写,如有多个单词一律用下划线隔开

私有函数在函数名前加一个下划线

变量名尽量小写,如有多个单词,用下划线隔开

常量采用全大写,如有多个单词,使用下划线隔开

#False

s = "Hello World"l= 1

importDecoder#True

classFarm():classAnimal():class_PrivateFarm():defrun():

count=0

school_name= "xidian"MAX_CLIENT= 100

10.程序设计规范

1.尽量不要直接将代码写在模块顶层,在执行主程序之前总是检查:if __name__ = '__main__',这样模块被导入主程序时就不会被执行了

#wrong

do_something()#right

defmain():

do_something():if __name__ == '__main__':

main()

所有的顶层代码在模块导入时都会被执行,要小心不要去调用函数,创建对象,或者执行哪些不该被执行的操作

尽量不要用+号拼接字符串,使用join函数拼接

在不复杂的情况下,尽量多用列表生成式,可以是代码更清晰

尽量使用map和filter等内置函数而不是自己去写循环

正则表达式之前一律加r,正则表达式使用之前一律编译好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值