目录
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
pdf书籍下载网盘地址:http://tadown.com/fs/7yi3befns6hu5bdd7/

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

...........................

python书籍推荐:python编码推荐(高清完整pdf)的更多相关文章

  1. 参考《利用Python进行数据分析(第二版)》高清中文PDF+高清英文PDF+源代码

    第2版针对Python 3.6进行全面修订和更新,涵盖新版的pandas.NumPy.IPython和Jupyter,并增加大量实际案例,可以帮助高效解决一系列数据分析问题. 第2版中的主要更新了Py ...

  2. 学习参考《父与子的编程之旅python【第二版】》高清中文版PDF+高清英文版PDF+源代码

    对于初步接触编程语言的朋友,推荐看一看<父与子的编程之旅第2版>,对于完全编程零基础的很友好! 图文并茂,过多的文字堆垒很容易让人产生厌倦情绪,也更容易让人产生放弃的想法.使用了大量插图, ...

  3. 书籍推荐Python编程:从入门到实践(高清完整pdf)

    这本书我看了电子版的,感觉还不错,全书共有20章,书中的简介如下: 本书旨在让你尽快学会 Python ,以便能够编写能正确运行的程序 -- 游戏.数据可视化和 Web 应用程序,同时掌握让你终身受益 ...

  4. 学习《深度学习入门:基于Python的理论与实现》高清中文版PDF+源代码

    入门神经网络深度学习,推荐学习<深度学习入门:基于Python的理论与实现>,这本书不来虚的,一上来就是手把手教你一步步搭建出一个神经网络,还能把每一步的出处讲明白.理解神经网络,很容易就 ...

  5. 学习推荐《从Excel到Python数据分析进阶指南》高清中文版PDF

    Excel是数据分析中最常用的工具,本书通过Python与Excel的功能对比介绍如何使用Python通过函数式编程完成Excel中的数据处理及分析工作.在Python中pandas库用于数据处理,我 ...

  6. 老男孩Python全栈第2期+课件笔记【高清完整92天整套视频教程】

    点击了解更多Python课程>>> 老男孩Python全栈第2期+课件笔记[高清完整92天整套视频教程] 课程目录 ├─day01-python 全栈开发-基础篇 │ 01 pyth ...

  7. 分享《Python 游戏编程快速上手(第3版)》高清中文版PDF+高清英文版PDF+源代码

    通过编写一个个小巧.有趣的游戏来学习Python,通过实例来解释编程的原理的方式.14个游戏程序和示例,介绍了Python基础知识.数据类型.函数.流程控制.程序调试.流程图设计.字符串操作.列表和字 ...

  8. 参考学习《Python学习手册(第4版)》高清中文PDF+高清英文PDF+源代码

    看到第38章了,整体感觉解释详细,例子丰富:关于Python语言本身的讲解全面详尽而又循序渐进不断重复,同时详述语言现象背后的机制和原理:除语言本身,还包含编程实践和设计以及高级主题.边看边写代码.不 ...

  9. 推荐《机器学习实战:基于Scikit-Learn和TensorFlow》高清中英文PDF+源代码

    探索机器学习,使用Scikit-Learn全程跟踪一个机器学习项目的例子:探索各种训练模型:使用TensorFlow库构建和训练神经网络,深入神经网络架构,包括卷积神经网络.循环神经网络和深度强化学习 ...

随机推荐

  1. linux 下查看wwn号

    PC server主机与FC存储进行连接时,一般需要加装HBA卡,两者之间衔接的一个重要参数就是wwn号.redhat或suse下查看wwn号的方法如下.一.SuSE Linux 9查看 /proc/ ...

  2. Django1.6版本的PG数据库定义手动升级

    Django1.7以后添加了migration功能,数据库定义的升级完全实现自动化,之前是通过一个叫south的app来做的.这篇文章谈一下1.6下的手动更新升级. 1.table create和ta ...

  3. 说说Android的MVP模式

    http://toughcoder.NET/blog/2015/11/29/understanding-Android-mvp-pattern/ 安卓应用开发是一个看似容易,实则很难的一门苦活儿.上手 ...

  4. threesum

    算法题 问题描述:在一些给定的数中,找到三个数,他们相加的和是0,并且这三个数的组合是不能重复的 例子: input [-1, 0, -1, 2, 1] Output [[-1, 1 ,0], [-1 ...

  5. Beta 冲刺day2

    1.昨天的困难,今天解决的进度,以及明天要做的事情 昨天的困难:昨天主要是在确认需求方面花了一些时间,后来终于确认了企业自查风险模块的需求问题 今天解决的进度:根据昨天确认下来的需求,我们基本上完成了 ...

  6. Python_正则表达式样例

    ''' 正则表达式是字符串处理的有力工具和技术,正则表达式使用预定义的特定模式去匹配一类具有共同特征的字符串, 主要用于字符串处理,可以快速.准确地完成复杂的查找.替换等处理要求. 正则表达式由元字符 ...

  7. 【转】Sentry--错误日志收集

    简介 Sentry是一个实时事件日志记录和汇集的日志平台,其专注于错误监控,以及提取一切事后处理所需的信息.他基于Django开发,目的在于帮助开发人员从散落在多个不同服务器上的日志文件里提取发掘异常 ...

  8. linux进程、线程与cpu的亲和性(affinity)

    参考:http://www.cnblogs.com/wenqiang/p/6049978.html 最近的工作中对性能的要求比较高,下面简单做一下总结: 一.什么是cpu亲和性(affinity) C ...

  9. 使用EHCache需要注意的几个问题(转)

    最近做一个小项目,需要对一批数据进行缓存,且要求持久化到磁盘.使用ehcache非常简单和直观,一般来说只需要配置ehcache.xml文件,接着直接使用@Cacheable, @Cacheput, ...

  10. linux几种时间函数总结

    一.linux时间函数总结 最近的工作中用到的时间函数比较频繁,今天抽时间总结一下,在linux下,常用的获取时间的函数有如下几个:  asctime,  ctime, gmtime, localti ...