目录
INF-qa Python 编码规范................................................................................................................... 1
1. 介绍 ................................................................................................................................... 3
1.1. 开发背景 ............................................................................................................... 3
1.2. 语言 ....................................................................................................................... 3
1.2.1. 版本 .............................................................................................................. 3
1.3. 规范文档 ............................................................................................................... 3
2. 一致性的建议 ................................................................................................................... 3
3. 代码的布局 ....................................................................................................................... 3
3.1. 缩进 ....................................................................................................................... 3
3.2. Tab 键还是空格 .................................................................................................... 4
3.3. 行的最大长度 ....................................................................................................... 4
3.4. 空行 ....................................................................................................................... 4
3.5. 编码 ....................................................................................................................... 4
4. 导入 ................................................................................................................................... 4
5. 空格 ................................................................................................................................... 5
5.1. 其它建议 ............................................................................................................... 5
6. 注释 ................................................................................................................................... 6
6.1 注释块 ................................................................................................................... 6
6.2 行内注释 ............................................................................................................... 6
7. 文档化 ............................................................................................................................... 7
8. 版本注解 ........................................................................................................................... 7
9. 命名约定 ........................................................................................................................... 7
9.1. 描述:命名风格 ................................................................................................... 7
9.2. 说明:命名约定 ....................................................................................................... 8
9.2.1. 应避免的名字 ................................................................................................ 8
9.2.2. 模块名 ............................................................................................................ 8
9.2.3. 类名 ................................................................................................................ 8
9.2.4. 异常名 ............................................................................................................ 8
9.2.5. 全局变量名 .................................................................................................... 8
9.2.6. 函数名 ............................................................................................................ 9
9.2.7. 方法名和实例变量名 .................................................................................... 9
9.2.8. 继承 ................................................................................................................ 9
10. 设计建议 ................................................................................................................... 9
11. Demo ....................................................................................................................... 10
12. The zen of python.................................................................................................... 12

1. 介绍
1.1. 开发背景
为了提高组内自动化开发效率,避免重复开发,对组内各模块已开发的自动化 lib 库、
case 中常用的操作、以及其他工具的调用接口进行汇总,管理出 dsqa 组内自动化 case 开发
的基础库。
1.2. 语言
基础库采用 python 开发。需要调用的相关二进制工具的地方,为降低开发成本,暂采
用直接调该工具,封出 python 方法接口。
1.2.1. 版本
Python 版本较多,为避免上下版本的兼容性问题,开发采用统一版本。
Python 2.6.2/2.7.x
1.3. 规范文档
为了方便维护、他人阅读使用,整理出该编码规范文档。请大家开发时遵循本规范进行
更开发。
本文档参考自 Guido 的《Python 风格指南》一文. 并从《Barry's style guide》中添加了
部分内容,以及我的个人建议。
2. 一致性的建议
整个项目的开发中,请尽量保持一致性,尤其是一个模块或者一个函数中的一致性更为
重要。
因此存在这样的一个问题:由于不同模块的 lib 库开发人不同,编码规范也可能不同,
整合起来会显得不够“和谐”。还是希望各模块 lib 库负责人做相应的修改,尽量“和谐”。
3. 代码的布局
3.1. 缩进
众所周知,python 是通过缩进来进行代码布局的。使用 vi 可以在~/.vimrc 中配置几个空
格来代表一个 tab,从而来布局 python 函数的缩进。
3.2. Tab 键还是空格
Python 里有一句叫“以用空格为荣,以用 tab 键为耻”。但全用空格时确实很麻烦。因
此,这里不限定用 tab 键还是空格。但记住: 不可混用!
你可以选择全部使用 tab 键,这样也不会出错。
3.3. 行的最大长度
类似于函数中的行注释、函数体等,如果某一行很长,则导致换行折叠观看,很影响美
观,而且还不利于阅读。因此,对顺序排放的的大块文本(文档字符串或注释),推荐长度
限制在 72 个字节内。
推荐使用反斜杠续行。
3.4. 空行
用两行分割顶层函数和类的定义。
用一行分割类成员方法的定义。
在一个函数内使用空行时请注意谨慎使用于一个逻辑段。
3.5. 编码
在 python 2.4 之后内核已经开始支持 Unicode 了。
无论什么情况下, 使用 UTF-8


作者:熊猫烧香

链接:www.pythonheidong.com/blog/article/28/

来源:python黑洞网

python经典书籍推荐:python编码规范相关推荐

  1. python经典好书-python经典书籍推荐

    互动出版网python书籍专区.为您推荐python经典书籍,学习python程序语言必读经典之作.以及关于python经典教材. 本书包括python程序设计的方方面面,首先从python的安装开始 ...

  2. python经典书籍推荐:Python核心编程

    作者:熊猫烧香 链接:www.pythonheidong.com/blog/article/27/ 来源:python黑洞网 对<Python核心编程>的褒奖 " The lon ...

  3. python视频教程唐学韬-计算机基础经典书籍推荐——Python语言

    本文根据网上的参考资料以及自己的学习经验总结整理而成,旨在给大家做一个参考,希望大家在工作.学习中遇到相关的问题之后能从这些参考书中获得帮助.下面介绍Python语言相关的参考书. Python语言 ...

  4. python经典书籍推荐-推荐10本量化Python书单,好好学习天天向上

    推荐10本量化Python书~Python非常灵活,让实验变得容易.解决简单问题的方法简单而优雅.Python为新手程序员提供了一个很好的实验室. Python具有一些特征,使其成为第一种编程语言的接 ...

  5. python学习书籍推荐-Python语言之6本机器学习书籍推荐

    本篇文章主要讲述Python语言之6本机器学习书籍推荐,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入. 机器学习是实现人工智能的一种途径,它和数据开掘有一定的相似性,也是一门多领 ...

  6. python经典书籍:Python编程实战 运用设计模式、并发和程序库创建高质量程序

    Python编程实战主要关注了四个方面 即:优雅编码设计模式.通过并发和编译后的Python(Cython)使处理速度更快.高层联网和图像.书中展示了在Python中已经过验证有用的设计模式,用专家级 ...

  7. python经典书籍推荐:Python面向对象编程指南 : Mastering Object-oriented

    所属网站分类: 资源下载 > python电子书 作者:goodbody 原文链接: http://www.pythonheidong.com/blog/article/474/ 来源:pyth ...

  8. python教程书籍-推荐python机器学习实践的书籍?

    直接实战的话,其实看 Scikit Learn 的官网就可以了.不仅有算法的说明,还有相关的参数文档,还有对应的案例分析,也有一些简单数据供参考.从开源的角度上讲,Scikit Learn 已经做得非 ...

  9. python经典好书-新手Python入门经典书籍推荐

    随着人工智能和大数据时代的来临,开始学习Python的朋友是越来越多了.近来就连房地产大亨潘石屹也在微博上表示,自己开始学Python了.确实在当下,无论是不是做程序员,还是在各个行业像是数据分析.运 ...

最新文章

  1. qq发文件大小上限_微信又放大招!网友:QQ可以卸载了?
  2. 赠书:Kotlin在Spring Boot中的应用
  3. C/Cpp / STL / vector 释放内存的方案
  4. Nginx 网站定义自己的错误页面
  5. php中的匿名函数简单使用
  6. P1297-[国家集训队]单选错位【期望概率】
  7. 【转载】IDEA中Git的更新/提交/还原方法
  8. Ubuntu 平滑升级到PHP7
  9. Python爬虫入门教程 15-100 石家庄政民互动数据爬取
  10. 微信小程序点击事件传递自定义参数的方法和跨页面传递数据
  11. github项目的JAVA项目Ratel,基于Netty实现
  12. Java 一元、二元运算符、三目条件运算符(三元运算符)
  13. 合肥师范Java考试试卷_合肥知到appJava Web程序设计-新期末题库-测验答案
  14. 分享30个高品质的抽象网页背景素材
  15. W10修改输入法快捷键及快捷键BUG解决
  16. AD域控-漫游账户-同步中心
  17. 「硬见小百科」开关电源各种保护电路实例详细解剖
  18. 一次购买新电脑并加装内存(32G)的分享
  19. html-table标签属性总结
  20. 【Vivado那些事儿】Vivado Schematic中的实线和虚线有什么区别?

热门文章

  1. java根据系统时间拼凑文件名字
  2. 浏览器停止加载页面内容
  3. word公式插件_全套office零基础视频教程|200集视频+插件+模板,免费送!
  4. linux运维服务常见故障,linux常见故障处理
  5. 接收二进制数据_详解前端websocket原理之数据传输协议
  6. STM32“隐藏的定时器”-DWT
  7. php swich w3c,JS Switch
  8. 《你还在我身旁》 香港中文大学《独立时代》杂志社微情书征文大赛一等奖作品。作者为香港中文大学学生戴畅。
  9. 【好文链接】环形队列、串口数据处理
  10. STM32 USART通信