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.

  • 相关阅读:
    量化平台的发展转
    jmeter全面总结8jmeter实战
    月见笔谈【一】——关于悲剧
    为什么要不断接触和学习新技术之我见
    WPF后台动态调用样式文件
    WPF后台动态添加TabItem并设置样式
    SQL查询SQLSERVER数据库中的临时表结构脚本
    防抖功能的实现
    项目中自定义进度条的实现
    vue3 请求响应拦截
  • 原文地址:https://www.cnblogs.com/maikaze/p/5546619.html
Copyright © 2011-2022 走看看