Python2.x与3.x的部分区别(根据实践持续更新)

来源:互联网 发布:tengine windows版本 编辑:程序博客网 时间:2024/06/03 21:34

之前半年一直在用Python2.7,现在由于大势所 趋,决定转战Python3.x。现在根据遇到的实践,把2.x与3.x的区别记录下来。

1. range与xrange

在Python2.7中,既有range也有xrange。xrange较于range速度更快。我的理解是,二者的功能是一样的,一般写为:for x in range(a)/for x in xrange(a),这句话的作用是让x在0到a的长度间取值。其中,a是某数组。

在Python3.x中,只有range这一种写法。而range与之前的xrange意义相同。

2. 向量乘法

假设a和b是两个3*3的矩阵(matrix)。

multiply(a,b)表示两个矩阵对应位置相乘。

a*b为两个矩阵点乘。

(当a、b为array时,a*b为两个数组对应位置相乘。)

在Python3.x中,a@b表示两个矩阵点乘。

(当a、b为array时,a@b得到的也是点乘的结果。)

3. 2.x到3.x的过渡

Python2.7是Python的最后一个2.x版本,以后官方只更新3.x。(这是我最终选择3

.x的原因之一,另一个原因是2.x中,不好处理中文。)所以,2.7算是一种过渡。对于3中的某些功能,2.7可以通过导入相应的包来实现。这样写:from __future__ import *

4.print

在Python2.x中,直接写print a就能输出a。而在Python3.x中,print作为一种函数,要加圆括号:print(a)。



原创粉丝点击