zoukankan      html  css  js  c++  java
  • Python 2x -> 3.x

      Nowadays, Python 3 is becoming more and more popular than Python 2, but there are still a lot of codes of Python 2 remained. Although we can use them on Python 2 or use pyenv to manage the versions of Python, but I still want to modify these codes to make them runnable in python 3.

      2016/05/31: Hot, 22 - 34 ℃, Light rain, Tuesday

      1.str and bytes(type in python)

      In Python 2, str are given equal treatment to bytes, absolutly. In my opinion, I don't think it is good. String is a explicit entity of bytes, and bytes is inner entity of string.

      We can easily declare a bytes value from a const string. Example: kom_header = b"KOG GC TEAM MASSFILE V.0.3."

      Convert

      str->decode->bytes

        example: s = b'x6dx61x69x6Bx61x7Ax65'

                       s.decode('utf-8')

      bytes->encode->encoding

        example: bytes(str, encoding = encoding_page)

      Attention:

        In Python 3, we should open a binary file in binary mode, instead of text mode.

      2.xrange() and range()

         In Python 2, there is some differences between xrange() and range(), which cause some unfair treatment to range()(QAQ,in perfermance),but now these differences are disappeared in Python 3. We can use range()(in fact, it is xrange()) only in Python 3, xrange() get the formal position to replace range().And range() function has died.(pupu).

        Now range() will make a iterator (on rules) instead of a list.

  • 相关阅读:
    第一篇unity
    C#相关知识小结
    必须知道的八大种排序算法【java实现】
    JAVA八大排序算法
    二进制、八进制、十进制、十六进制之间的转换
    八大排序算法
    JSONArray数据转换成java List
    使用json-lib的JSONObject.toBean( )时碰到的日期属性转换的问题
    一探前端开发中的JS调试技巧
    SpringMVC注解说明
  • 原文地址:https://www.cnblogs.com/maikaze/p/5546619.html
Copyright © 2011-2022 走看看