在
Django和Numpy相继发布对python2的deadline后

Django不再支持python2

Numpy在2019不再支持python2
Guido van Rossum给出明确回复

python2在2020将光荣退役
可以怀念,但请拥抱python3吧
这里小说
(粗浅,小范围)下当前我个人碰到的和觉得常用的一些东西 在python2和python3中的差异
python2 是个 语句
python3 是个 函数

这样的话一些链式操作或是语句构建就成为可能

python2中中国程序员困扰的编码问题,
python3会明朗很多,默认Unicode编码
python3立减一行代码量
1# -*- coding: utf-8 -*-你可以这样中文写码了

python2 相关方法 iterkeys/itervalues/iteritems
python3 中变成 keys/values/items
python3废除has_key
从
CPython 3.6+开始默认情况下dict的行为类似于OrderedDict, 变成有序的了


python3只能这样写
1try:
2 print('ok')
3except (IOError, StandardError) as err_inform:
4 print('error')异常对象

python2 返回的是 list
python3 返回的是 iterator

python2 range 返回 list xrange 返回 Iterable的对象
python3 只有 range 返回 Iterable的对象

python2 返回 浮点数
python3 返回 整数或浮点数


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
当前这种情况下,视乎不存在争端和纠结了 对于还未接触过python的同学,建议不要理会python2了,直接拥抱python3 对于有经验的python2的同学,不是非python2不可,也建议拥抱python3吧
python官方也给出了很多使用python3的原因和从python2过度到python3有效的建议 具体请看如下链接 http://python3statement.org/