python2退役
在
Django
和Numpy
相继发布对python2
的deadline后
![Django不再支付python2 Django不再支付python2](https://i.imgur.com/7C0rgdb.jpg)
![Numpy在2019不再支付python2 Numpy在2019不再支付python2](https://i.imgur.com/eX5J7RH.png)
Guido van Rossum
给出明确回复
![](https://i.imgur.com/qMu8YYY.png)
python2在2020将光荣退役
可以怀念,但请拥抱python3吧
python2和python3的差异
这里小说
(粗浅,小范围)
下当前我个人碰到的和觉得常用的一些东西
在python2和python3中的差异
python2
是个 语句python3
是个 函数
![](https://i.imgur.com/C8Vp10o.png)
这样的话一些链式操作或是语句构建就成为可能
![](https://i.imgur.com/Cyv7cYi.png)
Unicode编码
python2
中中国程序员困扰的编码问题,python3
会明朗很多,默认Unicode
编码python3
立减一行代码量
1# -*- coding: utf-8 -*-
你可以这边中文写码了
![](https://i.imgur.com/7ZYwXal.png)
dict
python2
相关方法 iterkeys/itervalues/iteritems
python3
中变成 keys/values/items
python3废除has_key
从
CPython 3.6+
开始默认情况下dict
的行为类似于OrderedDict
,
变成有序的了
除法运算
![](https://i.imgur.com/VsvCDN9.png)
异常处理
![](https://i.imgur.com/C5MSukZ.png)
python3只能这样写
1try:
2 print('ok')
3except (IOError, StandardError) as err_inform:
4 print('error')
异常对象
![](https://i.imgur.com/f4IeGuP.png)
map
python2
返回的是 list
python3
返回的是 iterator
![](https://i.imgur.com/wTPQY2j.png)
range和xrange
python2
range
返回 list
xrange
返回 Iterable
的对象python3
只有 range
返回 Iterable
的对象
![](https://i.imgur.com/zCuIJGe.png)
round
python2
返回 浮点数python3
返回 整数或浮点数
![](https://i.imgur.com/JsJwUwy.png)
参数unpacking
![](https://i.imgur.com/dAbi8u8.png)
python3 只能自己处理
1def unpacks(a, b):
2 return a,b[0],b[1]
3unpacks(1, (2,3))
4>(1, 2, 3)
其他
还有其他很多差异,后续慢慢补充吧
还有一些标准库只是名字变更的
具体可以看看如下链接
http://python3porting.com/stdlib.html#removedmodules-section
python2 VS python3
当前这种情况下,视乎不存在争端和纠结了
对于还未接触过python的同学,建议不要理会python2了,直接拥抱python3
对于有经验的python2的同学,不是非python2不可,也建议拥抱python3吧
python官方也给出了很多使用python3的原因和从python2过度到python3有效的建议
具体请看如下链接
http://python3statement.org/
下面的是我的公众号二维码图片,欢迎关注我。
![图注:chafezhou公众号 图注:chafezhou公众号](https://i.imgur.com/Cxn6r9K.jpg)