python3和python2的区别是什么

介绍

这篇文章将为大家详细讲解有关python3和python2的区别是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

python3.4和2.7的区别就是python2版本和python3版本的区别,两者对比如下

<强>核心类差异

1。Python3对Unicode字符的原生支持。

Python2中使用ASCII码作为默认编码方式导致字符串有两种类型str和Unicode, Python3只

支持Unicode的string.Python2和Python3字节和字符对应关系为:

2。Python3采用的是绝对路径的方式进行导入

Python2中相对路径的进口会导致标准库导入变得困难(想象一下,同一目录下有文件。py,如

何同时导入这个文件和标准库文件).Python3中这一点将被修改,如果还需要导入同一目录的文件必

须使用绝对路径,否则只能使用相关导入的方式来进行导入。

3。Python2中存在老式类和新式类的区别,Python3统一采用新式类。新式类声明要求继承对象,

必须用新式类应用多重继承。

4。Python3使用更加严格的缩进.Python2的缩进机制中,1个标签和8个空间是等价的,所

以在缩进中可以同时允许选项卡和空间在代码中共存。这种等价机制会导致部分IDE使用存在问题。

Python3中1个选项卡只能找另外一个选项卡替代,因此选项卡和空间共存会导致报错:TabError:

中使用制表符和空格缩进不一致。

<强>废弃类差异

1。打印语句被Python3废弃,统一使用打印函数

2。exec语句被python3废弃,统一使用exec函数

3。execfile语句被Python3废弃,推荐使用exec(打开(“。/filename") .read ())

4。不相等操作符“& lt;在“被Python3废弃,统一使用“!=?/p>

5。长整数类型被Python3废弃,统一使用int

6。xrange函数被Python3废弃,统一使用范围,Python3中范围的机制也进行修改并提高

了大数据集生成效率

7。Python3中这些方法再不再返回列表对象:词典关联的键()值(),(),zip ()

map()、过滤器(),但是可以通过强列表行转换:

1。mydict={“a": 1、“b": 2,“c": 3}

2。mydict.keys () # & lt;内置方法dict对象的键(0 x000000000040b4c8>

3。列表(mydict.keys()) # & # 39;一个# 39;& # 39;c # 39;, & # 39; b # 39;]

8。迭代器迭代器的next()函数被Python3废弃,统一使用下(iterator)

9。raw_input函数被Python3废弃,统一使用输入函数

10。字典变量的has_key函数被Python废弃,统一使用的关键词

11。文件函数被Python3废弃,统一使用开放来处理文件,可以通过io。IOBase检查文件类型

12。申请函数被Python3废弃

13。异常StandardError被Python3废弃,统一使用异常

<强>修改类差异

1。浮点数除法操作符“/焙汀?/钡那?/p>

":

Python2:若为两个整形数进行运算,结果为整形,但若两个数中有一个为浮点数,则结果为

浮点数;

Python3:为真除法,运算结果不再根据参加运算的数的类型。

“//?

Python2:返回小于除法运算结果的最大整数;从类型上讲,与“/霸怂惴祷乩嘈吐呒恢隆?/p>

Python3:和Python2运算结果一样。

2。异常抛出和捕捉机制区别Python2

1。提高IOError,那么“文件error"#抛出异常

2。除了NameError,犯错:#捕捉异常

Python3

1。提高IOError(“文件error")那么#抛出异常

2。除了NameError犯错:#捕捉异常

3。对循环中变量值区别

Python2,为循环会修改外部相同名称变量的值

1。i=1

2。打印(& # 39;理解:& # 39;,我因为我在范围(5)))

3。打印(& # 39;后:我=& # 39;,我)#我=4

Python3,为循环不会修改外部相同名称变量的值

1。i=1

2。打印(& # 39;理解:& # 39;,我因为我在范围(5)))

3。打印(& # 39;后:我=& # 39;,我)# i=1

4。一轮函数返回值区别

Python2,一轮函数返回浮类型值

1。isinstance(圆(15.5),int) #真正的

Python3,一轮函数返回int类型值

1。isinstance(圆(15.5)、浮动)#真正的

5。比较操作符区别

Python2中任意两个对象都可以比较

1。11 & lt;& # 39;测试# 39;#真正的

Python3中只有同一数据类型的对象可以比较

1。11 & lt;& # 39;测试# 39;# TypeError: unorderable类型:int () & lt;str ()

关于python3和python2的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

python3和python2的区别是什么