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))
<type 'int'>
>>> c=99999999999999999999999999999
>>> print(type(c))
<type 'long'>
pyhton3:
python3:
>>> a=999999
>>> print(type(a))
<class 'int'>
>>> c=99999999999999999999999999999999999999999999999
>>> print(type(c))
<class 'int'>
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 True
3
>>> False = 66
>>> print False
66
python3:
>>> True = 2
报错
>>> False = 4
报错
10,模块导入的区别
python2 默认是相对导入,自己创建模块时,必须要有__init__.py的文件
python3 无要求
11,字符串的区别
python2 unicode类型表示字符串序列,str类型表示字节序列
python3 str类型表示字符串序列,byte类型表示字节序列
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)