博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python2和python3的差异,超详细总结
阅读量:3961 次
发布时间:2019-05-24

本文共 1882 字,大约阅读时间需要 6 分钟。

python2与python3的区别

1,市场差异

python2:官方通知python2 2020开始不再维护,但企业很多代码都是python2,python2有很大的用户基群故会出现历史遗留问题,
需要很长时间的迁移过度到python3
python3:最新版本,但目前市场使用量不大

2,系统差异

python2:是centos 6-7系统默认支持的python版本
python3:是centos8系统默认支持的python版本

3,输出差异(代码举例)

python2:

>>> print "abc"abc>>> print("abc")abc

python3:

>>> print "abc" 会报错>>> print("abc")abc

4,输入差异

python 2: input 默认接收整形数据,str类型要用引号包起来,或用raw_input函数可以接收字符串

python 3: input 函数接收,获得输入类型为字符型

代码举例

python2:

>>> input("请输入任意字符:")请输入任意字符:as报错>>> input("请输入任意字符")请输入任意字符:“as”报错>>> input("请输入任意字符")请输入任意字符:'as''as'>>> raw_input("请输入任意字符")请输入任意字符:as'as'

python3:

>>> input("请输入任意字符:")请输入任意字符:ad'ad'>>> input("请输入任意字符:")请输入任意字符:‘ad’'‘ad’'>>> raw_input("请输入任意字符:")报错

#即raw_input 在python3中已废除

5,数据类型与运算符差异

整除

python3: /表示真除
python2:整数相除只能获取商值,浮点型数据相除才能获得真实数据
整形数据
python3:只有int
python2:区分int和long

代码举例

pyhton2:

>>> a=999999999999>>> print(type(a))
>>> c=99999999999999999999999999999>>> print(type(c))

pyhton3:

python3:

>>> a=999999>>> print(type(a))
>>> c=99999999999999999999999999999999999999999999999>>> print(type(c))

6,range和xrange的区别

代码举例

pyhton2:

>>> range(0,4)[0, 1, 2, 3]>>> list(xrange(1,4))[1, 2, 3]>>> xrange(0,4)xrange(4)pyhotn3:>>> range(0,4)range(0, 4)>>> list(range(0,4))[0, 1, 2, 3]

python3已废除了xrange

7,异常机制的区别

代码举例

python2

>>> try:...    a = 1/0... except Exception,e:...    print e

python3

>>> try:...    a = 1/0... except Exception as e:...    print(e)

8,字符编码的区别

pyhton2:默认编码是ascii码

只支持英文字母,数字,特殊字符,不支持中文含有中文需要做编码声明,用utf-8:
#--coding: utf-8-- #encoding=utf-8
pyhton3:默认编码是utf-8

9,布尔类型的区别

python2 True、False 是两个变量 可以更改

python3 True、False变成两个关键字 不能进行修改
代码举例
python2:

>>> True = 3>>> print True3>>> False = 66>>> print False66

python3:

>>> True = 2报错>>> False = 4报错

10,模块导入的区别

python2 默认是相对导入,自己创建模块时,必须要有__init__.py的文件

python3 无要求

11,字符串的区别

python2 unicode类型表示字符串序列,str类型表示字节序列

python3 str类型表示字符串序列,byte类型表示字节序列

转载地址:http://gmlzi.baihongyu.com/

你可能感兴趣的文章
私有继承中的派生类对象与基类对象间的转换
查看>>
5.7 观察者模式observer(行为模式)
查看>>
建造者模式Builder(创建模式)
查看>>
Linux文件系统目录结构的详细解说(一)
查看>>
TIME_WAIT状态的意义
查看>>
千万不要把 bool 设计成函数参数
查看>>
linux文件属性及权限详解
查看>>
Find 命令使用详解
查看>>
Ext4,Ext3的特点和区别
查看>>
Linux文件系统目录结构的详细解说(二)
查看>>
Linux umount 报 device is busy 的处理方法
查看>>
一个大小为n的数组,里面的数都属于范围[0, n-1],有不确定的重复元素,找到至少一个重复元素,要求O(1)空间和O(n)时间。
查看>>
提供机制而不是策略
查看>>
内核中断机制
查看>>
内核抢占
查看>>
编译linux内核源码 ubuntu
查看>>
epoll使用详解
查看>>
epoll
查看>>
The AnimationClip 'Walk' used by the Animation component 'Pig' must be marked as Legacy.
查看>>
《Linux内核设计与实现》- Linux的进程
查看>>