欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python2与python3 版本区别

程序员文章站 2022-10-08 17:59:19
[TOC] 编码 python2默认编码器为ascii码(只支持字母和符号)python3默认编码器为utf 8(所有语言都支持) 在python2 print "gkf" python3 prinnt("gkf") python2.7版本两种写法都支持 输入输出 python2 name = ra ......

目录

编码

  • 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:迭代器,可以循环但不可以索引

经典类 新式类

  • 面向对象多继承查找

    • py2经典类: 深度优先
    • 新式类: 广度优先
  • 面向对象新式类和经典类

    ​ 经典类:

    • py2:没有super()方法
    • 没有mro()方法:类的查找顺序
    • 深度优先

    ​ 新式类:

    • super按照mro的查找顺序,查找自己的下一个类

未完待补充

欢迎补充~