zoukankan      html  css  js  c++  java
  • python2与python3的区别

    1、字符编码

    python2默认ascii编码

    python3默认utf-8编码

    2、除法运算

    python2 整数相除的结果是一个整数,把小数部分完全忽略掉,浮点数除法会保留小数点的部分得到一个浮点数的结果。

    在python3中 对于整数之间的相除,结果也会是浮点数

    Python 2.x:

    >>> 1 / 2
    0
    >>> 1.0 / 2.0
    0.5

    Python 3.x:

    >>> 1/2
    0.5


    3、不等于运算符

    Python 2.x中不等于有两种写法 != 和 <>

    Python 3.x中去掉了<>, 只有!=一种写法

    4、数据类型

    Py3 去除了long类型,现在只有一种整型——int,但它的行为就像Py2版本的long

    5、捕获异常

    python2 捕获异常的语法: except Exception, e

    python3 except Exception as e

    6、unicode字符串

    python2中有两种字符串类型:Unicode字符串和非Unicode字符串。Python3中只有一种类型:Unicode字符串。

    python2有两个函数可以把对象强制转换成字符串:unicode()把对象转换成unicode字符串,还有str()把对象转换为非Unicode字符串。Python3只有一种字符串类型,unicode字符串,所以str()函数即可完成所有的功能。

    7、print()和raw_print()

    在python2中 raw_input( )和input( ),两个函数都存在,其中区别为:

    • raw_input()   不管输入什么都返回字符串类型
    • input()    只能接收"数字"的输入,它返回所输入的数字的类型(int, float )

    在python3中 raw_input( )和input( )进行了整合,去除了raw_input(),仅保留了input()函数,用法与py2中的raw_input()一致

    8、range和xrange

    py2中range()直接生成列表(量大占内存死机),py3中只有range( )和py2中还有的xrang( )都只生成一个生成器

    9、经典类与新式类

    创建类时,py2分为经典类和新式类,新式类就是继承object的类,经典类是没有继承的类,而py3中全部是新式类,默认继承object

  • 相关阅读:
    Rest_framework-3
    Nginx 之一:编译安装nginx 1.8.1 及配置
    vmware虚拟机克隆CentOS7 出现的网络问题解决办法
    OAuth认证
    5个节点hadoop安装(zookeeper)
    hadoop完整安装
    从vmware模板克隆linux的操作
    ssh 免密码设置失败原因总结
    hadoop-2.6.0.tar.gz的集群搭建(3节点)(不含zookeeper集群安装)
    linux静态IP设置
  • 原文地址:https://www.cnblogs.com/baohanblog/p/12151036.html
Copyright © 2011-2022 走看看