这篇文章将为大家详细讲解有关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的区别是什么就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。