Python.2x改到Python3.x变化

来源:互联网 发布:中国统计 城市数据分析 编辑:程序博客网 时间:2024/04/30 16:04
              1) print的变化
 
               print必须加括号了。
               print "hello" 改为 print("hello")
               print >> sys.stderr, "log123 " 改为 print("log123",file=sys.
      stderr)
     
    2) import 的变化
     
    引用当前路径下的模块不能直接import了
    比如当前路径下游个模块viterbi
    import viterbi 要改为 from . import viterbi
     
    3) open("a.txt",'rb').read()出来的是bytes而不是str
    >>> f=open("dict.txt","rb").read()
    >>> type(f)
    <class 'bytes'>
    >>> f=open("dict.txt",encoding='utf-8').read()
    >>> type(f)
    <class 'str'>
     
    4) str不是以前的str了,Python3.x中的str更像是Python2.x中的unicode,感觉跟Java中的String一样
     
    >>> s="中国"
    >>> s[0]
    '中'
     
    总结:py2中的str变成py3中的bytes了,py2中的unicode变成py3中的str了
     

            5)不支持ur作为字符串申明的前缀了

               Python 3.3 重新支持 u 前缀。r 前缀一直是支持的

     
    6)dict类型没有iteritems, itervalues方法了
     
    7)xrange没有了
           变成 range 了

             8)性能有所下降







原创粉丝点击