Python2 与 Python3 区别汇总

一  编码方式不同

  Python2默认ascill编码

   Python3编码的默认为utf-8。

  解决方法:

  在Python2 首行添加:# -*- encoding:utf-8  -*-   解决中文报错问题。

三 

python2
#print() print 'abc'
#range() xrange() 生成器
#raw_input()

python3
#print('abc')
#range()
#input()

四 Python中存在小数据池,节省内存
#数字,字符串 小数据池
#数字的范围 -5 -- 256
#字符串:1,不能有特殊字符
# 2,s*20 还是同一个地址,s*21以后都是两个地址
# i1 = 6
# i2 = 6
# print(id(i1),id(i2)) 地址相同
# i1 = 300
# i2 = 300
# print(id(i1),id(i2)) 地址不同

在python2中,5/2=2;在python3中,5/2=2.5。

七 

 在python3中,即使包下没有__init__.py文件,import 包仍然不会报错,而在python2中,包下一定要有该文件,否则import 包报错

在python3中,子类执行父类的方法也可以直接用super方法.(2中的新式类不可用)

3中只有新式类,2中有经典类(直接创建的都是)和新式类(设置父类为object)






原文地址:https://www.cnblogs.com/olivia2018/p/8053792.html