一、分号
抛弃语句末的分号,也意味着一行不允许写俩个语句
二、空:空格、空行、缩进
使用四个空格来缩进
一个语句写成多行的时候,第二行要么悬挂缩进,要么四个空格
类方法间一个空行,类或全局函数之间两个空行
『:』、『,』后边有一个空格
双目运算符左右各一个空格
三、注释:
- 文件声明必须用"""的方式,格式如下,包括版权声明、功能介绍、作者联系方式、时间
[图片上传中...(image-119efd-1656486236250-1)]
- 对外接口必须使用docstring,包括功能、输入参数及返回值语义、可能抛出的异常
[图片上传中...(image-1fa4a3-1656486236250-0)]
- 内部借口自行选择,尽量有必须使用docstring。
四、包引用
禁止只导入某一个函数或者类
每行只写一个库
自上而下的导入顺序分为:标准库、第三方库、自建库
五、标识符
局部变量全部小写
全局变量全部大写
变量的单词间用_,函数的单词间才驼峰(首字母大写)
六、函数
仅可以把基本类型作为输入参数的默认值
构造函数如果复杂就定义一个init方法
protected变量/方法明明为_abc,private变量命名为__abc,在被import时不会被导入
必须有基类,没有的话就object
七、异常
禁止使用双参数方式或者字符型式抛出异常(那怎么抛呢?)
尽量指catch自定义异常,除非再次抛出异常否则不允许catch全部异常
禁止使用excapt XXX,e而是使用xcapt XXX as e