一 编码方式不同
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)