编码

  • 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的查找顺序,查找自己的下一个类

未完待补充

欢迎补充~

05-11 20:06