本文共 1882 字,大约阅读时间需要 6 分钟。
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-89,布尔类型的区别
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/