zoukankan      html  css  js  c++  java
  • Py2与Py3的区别

    总结Py2 与Py3 的区别

    1 编码区别

    在Python2中有两种字符串类型str和Unicode。

    默认ASCII

    python2 str类型,相当于python3中的bytes类型

    python2 unicode类型,相当于python3中的str类型


    而在Python3中改为了bytes和str

    默认utf-8


    在 Python 中,不论是 Python2 还是 Python3 中,总体上说,字符都只有两大类:

    1. 通用的 Unicode 字符;
    2. (unicode 被编码后的)某种编码类型的字符,比如 UTF-8,GBK 等类型的字符。

    Python2 中字符的类型:

    • str: 已经编码后的字节序列

    • unicode: 编码前的文本字符


    Python3 中字符的类型:

    • bytes: 编码前的字节序列
    • str: 编码过的 unicode 文本字符

    2 输入input

    python2:name=raw_input('请输入姓名')

    python3:name=input('请输入你的姓名')


    3 输入print

    python2:print "你好"

    python3:print("你好")


    4 数字表示

    python2: 64位机器,范围 -263~263-1

    超出上述范围,python自动转化为long(长整型) ;注:long(长整型)数字末尾有一个L

    python3: 所有整型都是int, 没有long长类型


    5 整型除法

    python2:只能保留整数位

    python3:可以保留所有内容


    6 range

    python2:

    • xrange:不会在内存中立即创建,而是在循环时,边循环边创建
    • range:在内存立即把所有的值创建

    python3:

    • 只有range,相当于python2中的xrange
    • range:不会在内存中立即创建,而是在循环时,边循环边创建

    7 字典

    python2:返回列表,通过索引可以取值

    python3:返回迭代器,只能通过循环取值,不能通过索引取值


    8 class

    python2.7中经典类和新式类混合

    python3中都是新式类

    经典类中使用深度优先,新式类中使用广度优先

    python2不能使用super

    python3可以使用super

  • 相关阅读:
    java几种字符串反转
    iOS安全攻防(三):使用Reveal分析他人app
    信息与计算科学
    搜索框中“请输入搜索keyword”
    上传图片图像进行压缩后上传
    ExtractFileDir 与 ExtractFilePath 的差别
    java中接口的定义与实现
    《IT运维之道》
    Linux查看硬件信息,主板型号及内存硬件,驱动设备,查看设备,查看CPU。
    CentOS6.5 x86_64 配置Broadcom 43XX系列 无线网卡驱动
  • 原文地址:https://www.cnblogs.com/kai-/p/12116617.html
Copyright © 2011-2022 走看看