纵有疾风起
人生不言弃

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准

前言

Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯

目录

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图
file

一、简明概述

1、编码

1.如无特殊情况, 文件一律使用 UTF-8 编码
2.如无特殊情况, 文件头部必须加入#--coding:utf-8--标识

2、代码格式

2.1、缩进

统一使用 4 个空格进行缩进

2.2、行宽

每行代码尽量不超过 80 个字符(在特殊情况下可以略微超过 80 ,但最长不得超过 120)

理由:

1.这在查看 side-by-side 的 diff 时很有帮助
2.方便在控制台下查看代码
3.太长可能是设计有缺陷

2.3、引号

简单说,自然语言使用双引号,机器标示使用单引号,因此 代码里 多数应该使用 单引号

自然语言 使用双引号 “…”
例如错误信息;很多情况还是 unicode,使用u”你好世界”
机器标识 使用单引号 ‘…’
例如 dict 里的 key
正则表达式 使用原生的双引号 r”…”
文档字符串 (docstring) 使用三个双引号 “””……”””

2.4、空行

模块级函数和类定义之间空两行;
类成员函数之间空一行;

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图1
file

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

2.5、编码

文件使用 UTF-8 编码
文件头部加入#--conding:utf-8--标识

3、import 语句

import 语句应该分行书写

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图2
file

import语句应该使用 absolute import

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图3
file

import语句应该放在文件头部,置于模块说明及docstring之后,于全局变量之前;
import语句应该按照顺序排列,每组之间用一个空行分隔

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图4
file

导入其他模块的类定义时,可以使用相对导入

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图5
file

如果发生命名冲突,则可使用命名空间

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图6
file

4、空格

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

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图7
file

函数的参数列表中,,之后要有空格

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图8
file

函数的参数列表中,默认值等号两边不要添加空格

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图9
file

左括号之后,右括号之前不要加多余的空格

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图10
file

字典对象的左括号之前不要多余的空格

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图11
file

不要为对齐赋值语句而使用的额外空格

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图12
file

5、换行

Python 支持括号内的换行。这时有两种情况。

  1. 第二行缩进到括号的起始处
年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图13
file
  1. 第二行缩进 4 个空格,适用于起始括号就换行的情形
年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图14
file

使用反斜杠\换行,二元运算符+ .等应出现在行末;长字符串也可以用此法换行

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图15
file

禁止复合语句,即一行中包含多个语句:

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图16
file

if/for/while一定要换行:

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图17
file

6、docstring

docstring 的规范中最其本的两点:

1.所有的公共模块、函数、类、方法,都应该写 docstring 。私有方法不一定需要,但应该在 def 后提供一个块注释来说明。

2.docstring 的结束”””应该独占一行,除非此 docstring 只有一行。

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图18
file

二、注释

1、注释

1.1、块注释

“#”号后空一格,段落件用空行分开(同样需要“#”号)

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图19
file

1.2、行注释

至少使用两个空格和语句分开,注意不要使用无意义的注释

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图20
file

1.3、建议

在代码的关键部分(或比较复杂的地方), 能写注释的要尽量写注释
比较重要的注释段, 使用多个等号隔开, 可以更加醒目, 突出重要性

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图21
file

2、文档注释(Docstring)

作为文档的Docstring一般出现在模块头部、函数和类的头部,这样在python中可以通过对象的doc对象获取文档.
编辑器和IDE也可以根据Docstring给出自动提示.

文档注释以 “”” 开头和结尾, 首行不换行, 如有多行, 末行必需换行, 以下是Google的docstring风格示例

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图22
file

不要在文档注释复制函数定义原型, 而是具体描述其具体内容, 解释具体参数和返回值等

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图23
file

对函数参数、返回值等的说明采用numpy标准, 如下所示

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图24
file

文档注释不限于中英文, 但不要中英文混用
文档注释不是越长越好, 通常一两句话能把情况说清楚即可
模块、公有类、公有方法, 能写文档注释的, 应该尽量写文档注释

三、命名规范

1、模块

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

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图25
file

2、类名

类名使用驼峰(CamelCase)命名风格,首字母大写,私有类可用一个下划线开头

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图26
file

将相关的类和顶级函数放在同一个模块里. 不像Java, 没必要限制一个类一个模块.

3、函数

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

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图27
file

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

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图28
file

4、变量名

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

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图29
file

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

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图30
file

5、常量

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

年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准插图31
file

小编整理了Python相关的资料,私信 “资料” 即可领取

文章转载于:https://www.jianshu.com/p/fe3f6173d03b

原著是一个有趣的人,若有侵权,请通知删除

未经允许不得转载:起风网 » 年薪35W的Python工程师都不一定能够达到Python 代码规范这个标准
分享到: 生成海报

评论 抢沙发

评论前必须登录!

立即登录