侧边栏壁纸
  • 累计撰写 84 篇文章
  • 累计创建 35 个标签
  • 累计收到 1 条评论

目 录CONTENT

python学习之工具、常用类库、编程规范

天明
2023-10-25 / 0 评论 / 0 点赞 / 28 阅读 / 1397 字 / 正在检测是否收录...

工具

开发环境:https://www.continuum.io/

常用类库

编程规范

命名约定

  1. 用单下划线(_)开头表示模块变量或函数是protected的(使用import * from时不会包含);
  2. 用双下划线(__)开头的实例变量或方法表示类内私有;
  3. 将相关的类和顶级函数放在同一个模块里. 不像Java, 没必要限制一个类一个模块;
  4. 对类名使用大写字母开头的单词(如CapWords, 即Pascal风格), 但是模块名应该用小写加下划线的方式;
  5. 函数命名使用全部小写的方式,可以使用下划线;
  6. 常量命名使用全部大写的方式,可以使用下划线;
  7. 类的属性(方法和变量)命名使用全部小写的方式,可以使用下划线;
  8. 类的方法第一个参数必须是self,而静态方法第一个参数必须是cls;

  1. 如果一个类不继承自其它类, 就显式的从object继承. 嵌套类也一样.
  2. 类应该在其定义下有一个用于描述该类的文档字符串. 如果你的类有公共属性(Attributes), 那么文档中应该有一个属性(Attributes)段. 并且应该遵守和函数参数相同的格式.

编码

  1. 尽可能使用‘is’‘is not’取代‘==’,比如if x is not None 要优于if x;
  2. 使用startswith() and endswith()代替切片进行序列前缀或后缀的检查;
  3. 使用isinstance()比较对象的类型;用 isinstance(obj, cls), 不要用 type(obj) == cls;因为 isinstance 涵盖更多情形,包括子类和抽象基类。同时,不要过多使用 isinstance ,因为通常应该使用鸭子类型!
  4. 判断序列空或不空:if not seq: 或 if seq:优于 if len(seq) 或 if not len(seq)
  5. 字符串不要以空格收尾
  6. 二进制数据判断使用 if boolvalue的方式
  7. 列表/字典/集合推导式优于 map/filter
0

评论区