google编程规范-python 整理

原书网址:https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/python_style_rules/#id16

风格规范

  • 命名:
  1. 文件名: cap_words
  2. 类名: CapWords、_CapWords
  3. 函数名、变量名: cap_words、_cap_words、__cap_words
  4. 常量名: CAP_WORDS、_CAP_WORDS
  • 注释:
  1. 文档注释:符号用”””,第一行介绍并且句号等结尾,第二行空,第三行解释
  2. 函数注释:如文档注释,输入参数(Args:),输出参数(Returns:),异常(Raises:)
  3. 类注释: 如文档注释,共有属性(Attributes:)
  4. 块注释: #开头,空两格,代码前行编写
  5. 行注释: #开头,空两格,代码后面编写
  6. TODO注释:#TODO(name): remote update software
  • 细节部分
  1. 行长度: 每条命令一行(行长度<80),超过的部分 行连接用()
  2. 空行:    顶级定义空两行,方法定义空一行
  3. 空格: ,后面加空格,操作符两边加空格,参数的=后不加空格
  4. 类继承: 默认继承object
  5. 字符串: 用%s,{}.format代替+;循环中 ‘’.join(list) 代替+=,单双引号统一
  6. 文件socket等:显示关闭,用with open() as ;contextlib.closing() as来代替
  7. 导入格式:导入占一行;导入模块在文档注释后;顺序:标准库、第三方库、应用程序
  8. Main函数:脚本中加入main,避免导入该模块执行一些代码

 

语言规范

1. 使用lambda 适合单行函数

2. 用@property返回属性,用@x.setter限制类属性范围

3. 用隐式的false(0、None、[]、{});None用is判断;list 用 if not list;0 == true

4. 用yield 代替 return,用for循环来取值

5. 用operator优化速度

6. 单行函数 if ... else ...

7. 默认对象用None,不用可变对象[]

8. 推荐用嵌套函数,注意词法作用域

9. 线程间通讯用Queue作为数据类型,用threading.Condition代替锁

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值