目录
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. FFmpeg备忘录

    av_dup_packet函数 av_dup_packet会为destruct指针为av_destruct_packet_nofree的AVPacket新建一个缓冲区,将原有的缓冲区数据拷贝至新缓冲区 ...

  2. windows10 conda python多版本切换

    之前为了学习安装了python2.7是通过anaconda2安装的 现在想换用Python3  所以寻找版本并存 可以来回切换的方法 打开命令提示符,记住是命令提示符 不是win10自带的window ...

  3. Java面向对象进阶篇(包装类,不可变类)

    一. Java 8的包装类 Java中的8种基本数据类型不支持面向对象的变成机制,也不具备对象的特性:没有成员变量,方法可以调用.为此,Java为这8 种基本数据类型分别提供了对应的 包装类(Byte ...

  4. 分布式消息队列XXL-MQ

    <分布式消息队列XXL-MQ>     一.简介 1.1 概述 XXL-MQ是一款轻量级分布式消息队列,支持串行.并行和广播等多种消息模型.现已开放源代码,开箱即用. 支持三种消息模式: ...

  5. 学习笔记 C++ 链表

    今天查了不少关于链表的资料大概理解了链表,为记录只用留笔于此. 链表概述:动态的数据存储单元,可以比数组更加灵活. 链表的组成:存储的数据,下一个节点. 首先让我们用代码完成一个节点. class N ...

  6. arcEngine开发之查询的相关接口

    属性查询 IQueryDef 首先这个接口不能直接创建,可以由 IFeatureWorkspace 接口的CreateQueryDef创建. 这个接口有两个属性必须设置(帮助文档是这样说明的,但是实际 ...

  7. idea快捷

    IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!) 1. -----------自动代码-------- 常用的有fori/sout/psvm+Tab即可生成循环.System.ou ...

  8. 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法

    比如Json.NET的JObject明明实现了IEnumerable<T>,具体来说是IEnumerable<KeyValuePair<string, JToken>&g ...

  9. An annotation based command line parser

    Java命令行选项解析之Commons-CLI & Args4J & JCommander http://rensanning.iteye.com/blog/2161201 JComm ...

  10. 产品 vs 服务,见识,耐心

    站在空无一人略有冷意的街头,突然有种恍如隔世的感觉:这就是传说中橘生淮北则为枳的淮北?咦,我为什么会出现在这里? 于是我陷入了深深的思考. 关于对过去的思考 托尔斯泰说过:幸福的家庭是相似的,不幸的家 ...