一、 基础风格:遵循PEP
- 每个语句独占一行,勿在行尾加分号, 也不要用分号将多条语句放在同一行。
- 另起一行,即使定义,语句较为简单:
- if/for/while 语句中
- 类定义:class UnfoundError(Exception): pass
- 建议多行:
- 函数和方法的括号中参数或者元素过多时,建议换行多层缩进书写解决
- 不加空格:
- 各类括号内接语句前后不加空格
- 参数中默认值
- 加空格: 基本符号后(口号,冒号)前不加空格,后加 使用等号的场景(除参数默认值)
- 小写配合下划线场景:
- 文件名
- 类方法和属性
- 驼峰场景:
- 类名
- 大写与下划线配合场景:
- 全局变量名
- 下划线使用开头(同样应用于模块,文件):
- 为其实例的私有方法(默认:不建议实例外部调用,但不影响获取其值)
- 双下划线开头(同样应用于模块,文件):
- 为其私有方法,不允许外部调用,仅可在内部方法之间使用(原因:是防止调用,内部进行了对进行了重载)
- 在不重载类属性时,不建议定义以双下划线开头和结尾的方法
- 可能的话使用 is/is not 代替 ==(并不是所有的都可以,== 与 is 不等价)
- 使用 isinstance() 比较对象的类型,而不是 type()
- 使用 startswith() 和 endswith() 代替切片进行序列前缀或后缀的检查。
- if、while、for 时无需专门使用语句判断对象真值
- 字符串,list,tuple等,建议使用join 替代 + ;
- 路径拼接,如果跨平台,建议使用os.path.join or pathlib
- try: ... except ...., except 后面异常类型确认的话,明确写上各类型
- 文件模块:功能结构众多,期望有if __name__ == \"__main__\" 代码块,标准函数执行逻辑过程:
if__name__ ==\"__main__\":
do1()
do2() - 使用推导式,map,filter,reduce等代替for,while循环处理
- 包模块拥有自己定义的异常类型
- 类的方法第一个参数必须是self,而静态方法第一个参数必须是cls。尽可能的使用 classmethod, staticmethod
来源:https://www.cnblogs.com/spaceapp/p/15330212.html
图文来源于网络,如有侵权请联系删除。