python3跟python2区别,python3与python2的区别

  python3跟python2区别,python3与python2的区别

  Python3引入了一系列向后不兼容的变化。大部分的不兼容主要是:去歧义和纠错。

  1.字符串类型

  python中有两种类型的字符:字节串和文本串。

  版本 python2 python3 byte string str bytes text string Unicode str2.默认字符Python 2中默认的字符串类型是ASCII,python3中默认的字符串类型是Unicode。

  3.print

  在python2中,print是一个特殊的语句,在python3中,print是一个函数。

  python2:打印“hello word!”

  python3:print(hello word!,file=sys.stderr)

  4.除法/

  python2中/的结果是整型,python3中是浮点型。

  5.导入

  python2中的包导入顺序:标准库—相对倒排(即当前目录)—绝对导入(sys.path)

  python3中的包导入顺序:标准库—绝对导入(如果要相对导入,使用from。moudel)

  6.类

  在python2中,默认类是旧类,因此需要显式继承新类(对象)来创建新类。

  在python3中,旧类被完全移除。所有的类都是新类,但是object类仍然可以被显式继承。

  7.元类声明

  元类在python2中声明:__元类__=元类

  元类:classnewclass(元类=元类):pass是在python3中声明的

  8.异常

  python2中引发异常:引发值错误,“无效值”

  python3中抛出异常:提升值错误(“无效值”)3354在python2中也有效。

  9.处理异常

  python2中的异常处理:

  尝试:

  提升值错误,无效值

  除了ValueError,e:

  及格

  python3中的异常处理:

  尝试:

  提升值错误,无效值

  除了ValueError作为e:#在python2中也有效。

  及格

  python2中的异常链会丢失原来的异常信息,即处理异常B时抛出异常A,异常B信息会丢失。

  将原始异常信息赋给python3中的__context__属性。并且可以显式地将一个异常指定为另一个异常的子句:从io error()引发数据库错误()

  10.字典

  python2中dict类的键、值和项都返回列表对象,iterkeys、itervalues和iteritems返回生成器对象。

  在python3中,列表被删除,只返回一个生成器,只保留视图(生成器),但方法名是:键、值和项。

  11.模块合并

  python2中的Stringio和cStringio在python3中合并为IO。

  python2中的Pickle和cPickle在python3中合并为Pickle。

  python2中的Urllib、urllib2和urlparse合并成python3中的urllib。

  12.重命名模块

  python 3 python 2 config parser config parser filter ITER tools . ifilter input raw _ input map ITER tools . IMAP range xrange functools . reduce reduce socket server socket server zip ITER tools . izip13.其他

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: