Python风格规范

Python风格规范

待整理:
https://github.com/zh-google-styleguide/zh-google-styleguide/blob/master/google-python-styleguide/python_style_rules.rst#行长度

下面列出一些注意点:

  • 异常
    • 像这样触发异常: raise MyException(“Error message”) 或者 raise MyException . 不要使用两个参数的形式 ( raise MyException, “Error message” ) 或者过时的字符串异常 (raise “Error message” ).
    • 模块或包应该定义自己的特定域的异常基类, 这个基类应该从内建的 Exception 类继承. 模块的异常基类应该叫做”Error”.
    • 永远不要使用 except: 语句来捕获所有异常, 也不要捕获 Exception 或者 StandardError
    • 尽量减少 try/except 块中的代码量.
  • 避免全局变量
  • 默认迭代器和操作符
    • 如果类型支持, 就使用默认迭代器和操作符. 比如列表, 字典及文件等.
    • 在这里插入图片描述
  • 建议按需使用生成器.
    • 注意在生成器函数的文档字符串中使用”Yields:”而不是”Returns:”.
  • 默认参数值
    • 不要在函数或方法定义中使用可变对象作为默认值.
    • 在这里插入图片描述
  • 尽可能使用隐式 false
    • 0,None, [], {}, “”都被认为是 false
    • 尽可能使用隐式的 false, 例如: 使用 if foo: 而不是 if foo != []: .
    • 永远不要用 == 或者!= 来比较单件, 比如 None. 使用 is 或者 is not.
  • 线程
    • 不要依赖内建类型的原子性.
    • 优先使用 Queue 模块的 Queue 数据类型作为线程间的数据通信方式
  • 不要在行尾加分号, 也不要用分号将两条命令放在同一行.
  • 每行不超过 80 个字符
    • 例外:1. 长的导入模块语句
    • 例外:2. 注释里的 URL
    • 不要使用反斜杠连接行.
  • 缩进
    • 用 4 个空格来缩进代码
    • 绝对不要用 tab, 也不要 tab 和空格混用
  • 空行
    • 顶级定义之间空两行, 方法定义之间空一行
  • 空格
    • 括号内不要有空格.
    • 在这里插入图片描述
    • 不要在逗号, 分号, 冒号前面加空格, 但应该在它们后面加 (除了在行尾).
    • 在这里插入图片描述
    • 当’=’用于指示关键字参数或默认参数值时, 不要在其两侧使用空格.
      • 在这里插入图片描述
    • 不要用空格来垂直对齐多行间的标记, 因为这会成为维护的负担 (适用于:, #, = 等):
      • 在这里插入图片描述
    • 如果一个类不继承自其它类, 就显式的从 object 继承. 嵌套类也一样.
      • 在这里插入图片描述
      • 将相关的类和顶级函数放在同一个模块里. 不像 Java, 没必要限制一个类一个模块.
  • 字符串的格式化
    • 在这里插入图片描述
    • 避免在循环中用 + 和 += 操作符来累加字符串
    • 在这里插入图片描述
  • TODO 注释
    • 在这里插入图片描述
  • 导入格式
    • 每个导入应该独占一行
    • 在这里插入图片描述
    • 最通用到最不通用的顺序分组
      1. 标准库导入
      2. 第三方库导入
      3. 应用程序指定导入
  • 通常每个语句应该独占一行
    • 在这里插入图片描述
  • 访问控制
    • 对于琐碎又不太重要的访问函数, 你应该直接使用公有变量来取代它们,也就是不要set,get方法
  • 命名
    • 对类名使用大写字母开头的单词 (如 CapWords, 即 Pascal 风格), 但是模块名应该用小写加下划线的方式 (如 lower_with_under.py)
    • TypePublicInternal
      Moduleslower_with_under_lower_with_under
      Packageslower_with_under
      ClassesCapWords_CapWords
      ExceptionsCapWords
      Functionslower_with_under()_lower_with_under()
      Global/Class ConstantsCAPS_WITH_UNDER_CAPS_WITH_UNDER
      Global/Class Variableslower_with_under_lower_with_under
      Instance Variableslower_with_under_lower_with_under (protected) or __lower_with_under (private)
      Method Nameslower_with_under()_lower_with_under() (protected) or __lower_with_under() (private)
      Function/Method Parameterslower_with_under
      Local Variableslower_with_under
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值