Python笔记_第四篇_高阶编程_py2与py3的区别

1. 性能

  py3.x起始比py2.x效率低,但是py3.x现有极大的优化空间,效率正在追赶。

2. 编码

  py3.x原码文件默认使用的utf-8编码,使得变量名更为宽阔。

3. 语法

  * 去除了<>,改为 !=

  * 加入了as和with关键字,还有True、False、None

  * 整型触发返回浮点数,整除使用 //

  * 键入nonlocal语句

  * 除去了print语句,加入了print()函数

  * 除去了raw_inpu,加入了input()函数

  * 新的super(),可以不在用给()传参数了

  * 改变了顺序操作符行为。例如:x<y,当x和y累心改不匹配时抛出TypeError错误而不是返回随机的bool值。

  * 新式的八进制字变量

4. 字符串和字节串

  * py2:字符串以8bit字符串存储

  * py3:字符串以16bit Unicode字符串存储,现在只有str一种类型。

5. 数据类型

  * py3除去了long类型,现在只有一种整型---int,但它的行为就像2.x版本的long

  * py3新增byte类型,对应2.x版本八位串。str对象和byte对象可以用.encode()(str -> bytes) or .decode()(bytes -> str)方法相互转化。

6. 面向对象

  引用抽象基类

7. 异常

  * 所有异常从BaseException继承,并删除了StandardError。  

  * py2:except Exception,e:

  * py3:except Exception as e:

8. 其他

  * xrange()改名为range(),想要使用range()获得list,必须显示调用。

  * file类型被弃用:

        py2:打开文件:file(path),open(path)

        py3:打开文件:open(path)

  * 很多三方库的使用方式略有改变。

猜你喜欢

转载自www.cnblogs.com/noah0532/p/10897637.html