python2与python3的常见区别

1  python2与python3的区别

  1. Python3使用更加严格的缩进,space与tab不能混用。Python2的缩进机制中,1个tab和8个space是等价的。

  2. Python3对Unicode字符的原生支持,Python2中使用 ASCII 码作为默认编码方式导致string有两种类型str和unicode,
     (#-*- encoding:utf-8 -*-)
  3. Python3中全部集成新式类object,python2存在老式类和新式类的区别,
         type(x)和x.__class__是一样的结果(新式类)
        旧式类(经典类)type(x)总是返回<type 'instance'>。这反映了所有的旧式类的实例是通过一个单一的叫做instance的内建类型来实现的。
  4 废弃语句
    python3废弃语句   print,exec改成对应函数
    long整数类型被Python3废弃,统一使用int
    不相等操作符"<>"被Python3废弃,统一使用"!="
    xrange函数被Python3废弃,统一使用range
    raw_input函数被Python3废弃,统一使用input函数
    异常StandardError 被Python3废弃,统一使用Exception
    round函数返回值区别 2是int 3是float

  5 for循环
   Python2,for循环会修改外部相同名称变量的值

   Python3,for循环不会修改外部相同名称变量的值


  6 比较运算符
    比较操作符区别
    Python2中任意两个对象都可以比较  123 < 'test' #True
    Python3中只有同一数据类型的对象可以比较 123 < 'test' # TypeError: unorderable types: int() < str()

猜你喜欢

转载自blog.csdn.net/weixin_42322206/article/details/100068175