PEP8风格和python版本区别

python解释器

官方Cpython
C语言开发,最广泛的Python解释器
IPython
一个交互式,功能增强的Cpython
PyPy
Python语言写的Python解释器,JIT技术,动态编译Python代码
Jython
Python的源码编译成Java的字节码,跑在JVM上
IronPython
与Jython类似,运行在.Net平台上的解释器,Python代码被编译成.Net的字节码
版本区别
2.X和3.X区别
语句函数化,例如print(1,2)打印出1 2,但是2.x中意思是print语句打印元组,3.x中意思是函数的两个
参数
整数,例如1/2和1//2,3.x版本中/为自然除
3.x中raw_input重命名为input,不在使用raw_input
round函数函数,在3.x中i.5的整数变为距离最近的偶数
字符串统一使用Unicode
异常的捕获、抛出的语法改变
遵循PEP8风格指南
空白:
python中的空白(whitespace)会影响代码的含义。python程序员使用空白的时候尤其在意,因为
它们还会影响代码的清晰程度。
使用space(空格)来表示缩进,而不要用Tab(制表符)
和语法相关的每一层缩进都用4个空格来表示
每行的字符数不应超过79
对于占据多行的长表达式来说,除了首行之外的其余各行都应该在通常的缩进级别之上再加4个空格
文件中的函数与类之间应该用两个空格隔开
在同一个类中,各方法之间应该用一个空格隔开
在使用下标来获取列表元素、调用函数或给关键字参数赋值的时候,不要在两旁添加空格
为变量赋值的时候,赋值符号的左侧和右侧应该各自写上一个空格,而且只写一个就好
命名:
PEP8提倡采用不同的命名风格来编写python代码中的各个部分,以便在阅读代码时可以根据这些名称看出它们
在python语言中的角色
函数、变量及属性应该用小写字母来拼写,各单词之间以下划线相连,例如lowercase_underscore
受保护的实例属性,应该以单个下划线开头,例如_leading_underscore
私有的实例属性,应该以两个下划线开头,例如__double_leading_underscore
类与异常,应该以每个单词首字母均大写的形式来命名,例如CapitalizedWord
模块级别的常量,应该全部采用大写字母来拼写,各单词之间以下划线相连,例如ALL_CAPS
类中的实例方法(instance method),应该把首个参数命名为self,以表示该对象自身
类方法(class method)的首个参数,应该命名为cls,以表示该类自身
表达式和语句:
《The Zen of python》(python之禅)中说:“每件事都应该有直白的做法,而且最好只有一种。”PEP8在
制定表达式和语法的风格时,就试着体现了这种思想。
采用内联形式的否定词,而不要把否定词放在整个表达式的前面,例如,应该写if a not b 而不是if not a is b
不要通过检测长度的办法(如if len(somelist) == 0)来判断somelist是否为[]或”等空值,而不是采用if not somelist
这种写法来判断,它会假设:空值将自动评估为False
检测somelist是否为[1]或‘hi‘等非空值时,也应如此,if somelist语句默认会把非空的值判断为True
不要编写单行的if语句、for循环、while循环及except复合语句,而是应该把这些语句分成多行来书写,以示清晰
import语句应该总是放在文件开头
引入模块的时候,总是应该使用绝对名称,而不应该根据当前模块的路径来使用相对名称。例如,引入bar包中的foo模块时,
应该完整地写出from bar import foo,而不应该简写成import foo
如果一定要以相对名称来编写import语句,那就采用明确的写法:from.import foo
文件中的那些import语句应该按顺序划分成三个部分,分别表示标准库模块、第三方模块以及自用模块。在每一部分,各import语句
应该按模块的字母顺序来排列
要点
当编写python代码时,总是应该遵循PEP8风格指南
与广大python开发者采用同一套代码风格,可以使项目更利于多人协作
采用一致的风格来编写代码,可以令后续的修改工作变得更为容易

原文地址:http://blog.51cto.com/dominicto/2108902

时间: 2024-10-11 23:03:21

PEP8风格和python版本区别的相关文章

Python版本区别

python2.7 与  python3.5 一个是旧版本,附带了很多功能. 一个是大的新版本,在原有版本上增加了很多方便的功能! python Cpython     Jpython     Pypy 我们可以把这些版本成为虚拟机. 原文地址:https://www.cnblogs.com/kermitjam/p/8425822.html

Effective Python 条目二:遵循PEP8风格规约

Python 增强建议#8,也被称为PEP8,是格式化Python代码的风格指引.只要符合语法,你可以随心所欲地写Python代码.然而,一致的风格使你的代码更加亲和与易于理解,及在一个大型社区中与其他Python程序员分享时促进协作.但是即使只有你自己一个人读你的代码,遵循这个风格规约将会使得以后修改起来更加容易. PEP8有一些列丰富的关于怎样去编写清晰干净的Python代码的细节.随着Python语言的演变,它将会持续更新.这是非常值得去阅读整个在线规约的(http://www.pytho

Python2.x与3??.x版本区别

Python2.x与3??.x版本区别 Python的3??.0版本,常被称为Python 3000,或简称Py3k.相对于Python的早期版本,这是一个较大的升级. 为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下相容. 许多针对早期Python版本设计的程式都无法在Python 3.0上正常执行. 为了照顾现有程式,Python 2.6作为一个过渡版本,基本使用了Python 2.x的语法和库,同时考虑了向Python 3.0的迁移,允许使用部分Python 3.0的语法

【python】ipython与python的区别

[python]ipython与python的区别 (2014-06-05 12:27:40) 转载▼   分类: Python http://mba.shengwushibie.com/itbook/BookChapter.asp?id=8745 http://www.cnblogs.com/yangze/archive/2011/07/11/2103040.html http://matrix.42qu.com/10735149 http://www.cnblogs.com/weishun/

windows安装使用python、环境设置、多python版本的切换、pyserial与多版本python安装、windows命令行下切换目录

1.windows下安装python 官网下载安装即可 2.安装后的环境设置 我的电脑--属性--高级--设置path的地方添加python安装目录,如C:\Python27;C:\Python33 3.多版本的切换三种方法: 1)修改C:\Python27;C:\Python33内python.exe为python2.7.exe.python3.3.exe,即可区别开来 2)path路径中去除不用的,保留要用的 3)切换到想使用版本的python.exe目录下使用python解释器 4.下载好

Neutron Kilo-Liberty-Mitaka各版本区别

作者: 赵怡 一.Neutron Kilo版和Liberty版本主要区别: 新增的特性: 1. neutron支持IPv6前缀委托授权为IPv6子网分配CIDR 2. neutron支持QoS API, 初期只支持端口带宽限制 3.路由器HA (L3 HA/VRRP)在L2 population(l2_pop)设置为enable时, 可以正常工作了. 4. VPNaaS参考驱动现在可以和HA router一起正常工作了 5. HA路由器上使用的VRRP网络, 可以配置为特定的segmentati

Mac下切换Python版本

Mac下有多个版本的Python时,需要进行版本切换.我使用的是anaconda,在终端下进行包安装时,默认Python版本是MacOS自带的Python,需要进行手动的版本切换. # 将anaconda的bin目录加入PATH,根据版本不同,也可能是~/anaconda3/bin echo 'export PATH="~/anaconda2/bin:$PATH"' >> ~/.bashrc # 更新bashrc以立即生效 source ~/.bashrc 以我主机为例,切

OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别]

http://blog.163.com/[email protected]/blog/static/1820473820123206189381/ OJDBC版本区别 [ojdbc14.jar,ojdbc5.jar和ojdbc6.jar的区别] 2012-04-20 18:18:09|  分类: java参考资料|举报|字号 订阅 下载LOFTER我的照片书  | 在使用Oracle JDBC驱动时,有些问题你是不是通过替换不同版本的Oracle  JDBC驱动来解决的?最常使用的ojdbc14

LInux升级Python版本2.7.11所遇问题汇总

首先请原谅我使用校园网络,基本上打不开谷歌,网络搜取得帮助均来自度娘. 对于我这个linux新手 IT 新手来说,自己升级点东西好担心,万一出错,可能都要重来.... 参照度娘内容和自己摸索,今天晚上的升级以成功结束 哈哈哈 一.我需要把升级Linux里Python版本为2.7.11,度娘一艘,都是各种直接弄好的下载链接,发现了各种复制来复制去的内容,找来找去没找到2.7.11,所以转到了官网www.python.org 首页就可以看到download里最新的2.7.11,点进去,需要的就是最上