《Python Enhancement Proposal #8》 (8号python增强提案)又叫PEP8,他针对的python代码格式而编订的风格指南。

空白

  • 使用space来表示缩进,而不要用tab
  • 和语法相关的每一层缩进用4个空格来表示
  • 每行的字符数不应超过79
  • 文件中函数与类之间应该用两个空行隔开
  • 在同一个类中,各方法之间应用一个空行隔开
  • 在使用下表来获取列表元素、调用函数或给关键字参数赋值的时候,不要在两旁添加空格
  • 为变量赋值的时候,赋值符号的左侧和右侧应该各自写上一个空格,而且只要一个就好

命名

  • 函数、变量及属性应该用小写字母来拼写,各单词之间以下划线相连
  • 类与异常,应该以每个单词首字母均大写的格式来命名
  • 类中的实例方法,应该把首个参数命名为self,以表示该对象的自身
  • 类方法的首个参数,应该命名为cls,以表示该类自身

表达式和语句

  • 采用内联式的否定词,而不要把否定词放在整个表达式的前面,例如,应该写if a is not b 而不是if not a is b
  • 不要通过检测长度的办法(如 if len(somelist) == 0)来判断somelist是否为空值,而是应该采用 if not somelist 这种写法来判断,他会假定:空值将自动评估为False
  • 不要编写单行的if语句,for循环,while循环及except复合语句,而是应该把这些语句分成多行来书写,以示清晰
  • import语句应在总放在文件开头
  • 文件中的哪些import语句应该按照顺序划分为三个部分,分别表示标准库模块,第三方模块以及自用模块

要点

  • 当编写Python代码时,总应该遵循PEP8风格指南
  • 与广大Python开发者采用同一套代码风格,可以使项目更利于多人协作
  • 采用一直的风格来编写代码,可以领后续的修改工作变得更为容易

以上是摘自PEP8的部分,有兴趣可以查看http://www.python.org/dev/peps/pep-0008

《Python Enhancement Proposal #8》要点 学习摘录的更多相关文章

  1. 高质量JavaScript代码书写基本要点学习

    高质量JavaScript代码书写基本要点学习 可维护的代码意味着: •可读的 •一致的 •可预测的 •看上去就像是同一个人写的 •已记录   最小全局变量(Minimizing Globals)   ...

  2. 编写高质量代码改善python程序91个建议学习01

    编写高质量代码改善python程序91个建议学习 第一章 建议1:理解pythonic的相关概念 狭隘的理解:它是高级动态的脚本编程语言,拥有很多强大的库,是解释从上往下执行的 特点: 美胜丑,显胜隐 ...

  3. Python自动化培训第一周学习总结

    Python自动化培训第一周学习结束,看视频复习,把作业完成了. 总体来说,开卷有益. 首先,工具真是好东西,能够极大提升效率,也是人区别于动物所在.想起前任大领导对工具的不屑,本质也是对效率的不屑, ...

  4. python实用库:PrettyTable 学习

    python实用库:PrettyTable 学习 PrettyTable说明 PrettyTable 是python中的一个第三方库,可用来生成美观的ASCII格式的表格,十分实用. 以下为官方介绍: ...

  5. Python 日期时间处理模块学习笔记

    来自:标点符的<Python 日期时间处理模块学习笔记> Python的时间处理模块在日常的使用中用的不是非常的多,但是使用的时候基本上都是要查资料,还是有些麻烦的,梳理下,便于以后方便的 ...

  6. 《Think Python》第17章学习笔记

    目录 <Think Python>第17章学习笔记 17.1 面向对象的特性(Object-oriented features) 17.2 打印对象(Printing objects) 1 ...

  7. 《Think Python》第16章学习笔记

    目录 <Think Python>第16章学习笔记 16.1 Time 16.2 纯函数(Pure functions) 16.3 修改器(Modifiers) 16.4 原型 vs. 方 ...

  8. 《Think Python》第15章学习笔记

    目录 <Think Python>第15章学习笔记 15.1 程序员定义的类型(Programmer-defined types) 15.2 属性(Attributes) 15.3 矩形( ...

  9. 马哥教育python网络班19期 学习目标

    马哥教育python网络班19期 学习目标: (1)按群里的学习进度表,来自行学习,学完时间6个月. (2)学完后,薪资能达到20K+每月.

随机推荐

  1. 第六章、Vue项目预热

    6-5. (1). (2).引入reset.css及border.css (3).解决手机点击延迟300ms的问题 a.安装 b.引入fastclick 6-2.项目的整体架构 src--->整 ...

  2. url,href和src的区别,defer和async的区别

    URL(Uniform Resource Locator):统一资源定位符,互联网上的每个文件都有一个唯一的URL,基本URL包含协议,IP地址,路径和文件名. 重点:herf和src的区别 href ...

  3. IEEE1588 PTP对时系统原理及特点

    IEEE1588 PTP对时系统原理及特点 随着网络技术的快速发展,以太网的定时同步精度也在不断入提高,为了适应网络技术的变化,人们开发出了NTP网络时间协议来提高各网络设备的定时同步功能,但在一些对 ...

  4. Linux定制化RPM包

    定制化RPM包 1.Linux安装软件方法 1- rpm/yum安装 简单.速度快,但是不能定制安装 RPM RedHat Package Manager(RPM软件包管理器) 2- 二进制安装 解压 ...

  5. MySQL中常用转换函数介绍

    Cast函数:CONVERT函数. 用法:CAST(expr AS type), CONVERT(expr,type) , CONVERT(expr USING transcoding_name). ...

  6. Java Grammar(二):运算符

    运算符简介 计算机自打诞生以来,用作最多的就是进行计算,而计算离不开运算符,所以运算符在我们的Java语言中的地位举足轻重,我们现在就来了解一下Java给我们提供的运算符. 从运算的元素的个数来区分, ...

  7. ggplot之多变量绘图

    1. 普通plot 准备数据. x<-seq(0,2*pi,0.05) y<-sin(x) z<-cos(x) data<-data.frame(x,y,z) plot: pl ...

  8. HTML5&CCS3(3)基本HTML结构

    3.1 开始编写网页 每个HTML文档都应该包含以下基本成分: DOCTYPE: html元素(包含lang属性.该属性不是必需的,但推荐加上): head元素: 说明字符编码的meta元素: tit ...

  9. redis作为消息队列的原理

    Redis队列功能介绍 List 转:https://blog.csdn.net/cestlavieqiang/article/details/84197736 常用命令: Blpop删除,并获得该列 ...

  10. SIP压力测试——奇林软件kylinPET

    一.Sip协议简介: SIP(Session Initiation Protocol,会话初始协议)是由IETF(Internet Engineering Task Force,因特网工程任务组)制定 ...