python2与python3 版本区别
编码
- python2默认编码器为ascii码(只支持字母和符号)python3默认编码器为utf-8(全部语言都支持)
- 在python2 print "gkf" python3 prinnt("gkf") python2.7版本两种写法都支持
输入输出
- python2 name = raw_input("请输入姓名") python3 name =input("请输入姓名")
中文
- python2 coding:utf-8(文件头加,支持中文)
除法
- py2除法除尽 from_future_ import division 需导入模块
- py3默认地板除(除尽)
- py2只取整数部分,小数不保留
长整形
- py2 有长整型后跟L表示 py3中没有长整形(long)自动转化
内置函数map
- 内置函数map 结果py3不展现 py2直接展现
- y2:返回列表
- py3:返回迭代器,能够循环但不能够索引
xrange
- py2 xrange(不会当即生成,而是遍循环遍建立)/range(在内存中把全部的值当即生成) py3 range 要想实现xrange list(range(数字))
init
- 对于包的定义:
- py2:文件见中必须有 _ init _.py 。
- py3:不须要 _ init _.py .
reduce
- reduce() 函数在 python 2 是内置函数, 从python 3 开始移到了 functools 模块。
字符串类型
- 字符串类型不一样
- py3: str bytes
- py2: unicode str
dict字典
- 字典
- keys
- py2:列表
- py3:迭代器,能够循环但不能够索引
- values
- py2:列表
- py3:迭代器,能够循环但不能够索引
- items
- py2:列表
- py3:迭代器,能够循环但不能够索引
经典类 新式类
面向对象多继承查找python2.7
面向对象新式类和经典类函数
经典类:编码
- Py2:没有super()方法
- 没有mro()方法:类的查找顺序
- 深度优先
新式类:code
- super按照mro的查找顺序,查找本身的下一个类
未完待补充
欢迎补充~对象
欢迎关注本站公众号,获取更多信息