Python的发展很快,几乎每年都在版本迭代。目前Python有两个主要版本,一个是python2.x,另一个是python3.x。
兔子先生最早接触Python的时候,使用的是python2.3,用来做垂直领域的爬虫开发。

Python2 与 Python3 的区别很多,但是总的来说有以下几点:
Short version: Python 2.x is legacy, Python 3.x is the present and future of the language
以上是摘录于wiki.python.org,龟叔 (Guido van Rossum) 的想法是不再对2.7版本进行向后兼容。
目前 Python2 发展普及了十多年,在一些公司的IT建设项目上,占据不小的分量,例如搜狐的个人邮箱,就是采用 Python2.6 开发并一直维护。
尽管 Python2 有如此辉煌的过去,但是由于 Python 社区的推荐和 更多 Python3 拥护者的出现,越来越多的企业转投 Python3 的怀抱并已经开始行动。
Python2 与 Python3 本身并不兼容,这种情况下,对于库的选择和使用会让人抓狂。因为版本不兼容,很容易引起程序运行异常,甚至直接崩溃。
那么我们该如何解决这个问题呢,其实当选择使用这个库的之前,可以先了解它支持在哪些 Python 版本上运行。
举例来说, requests 当前的最新版本为 2.23.0,在 https://pypi.org/project/requests/ 上的在线文档上,清楚说明了兼容Python2.7,Python3.5-Python3.8 的版本,所以如果你的 Python 版本在上述的范围内,则可以放心使用。

Unicode 和 ASCII 相比,可以支持更多的语言符号,例如罗马字母、中日韩文、Emoj 表情等。
在 Python3 中字符串默认是 Unicode 的编码,而 Python2 则是默认 ASCII 码,如果要指定为 Unicode 则需要在字符串前加个 u 作为前缀。
#--------------------------------
#python2 中字符串编码示例
# 默认为 ASCII 码
xtuz_url = 'https://www.xtuz.net'
# 显示指定为 Unicode 码
xtuz_url = u'https://www.xtuz.net'
#---------------------------------
#python3 中字符串编码示例
xtuz_url = 'https://www.xtuz.net'
在 Python2 中,整数相除的情况下,即使有结果含有小数,也会丢弃,仅取整数处理。
例如:
Python 2.7.17 (default, Nov 7 2019, 10:07:09)
[GCC 7.4.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> print 10/3
3
>>> print 11/3
3
在 Python3 中,上述情况则会自动转换成浮点数处理。从开发者的角度来看,这样的结果更直观。
Python 3.6.8 (default, Jan 14 2019, 11:02:34)
[GCC 8.0.1 20180414 (experimental) [trunk revision 259383]] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> print (10/3)
3.3333333333333335
>>> print (11/3)
3.6666666666666665
Python3 中为了统一函数的表达方式,对 print 表达式进行了调整,必须要求有 ()。
## python2中的输出方式
print 'https://www.xtuz.net'
## python3中的输出方式
print('https://www.xtuz.net')
我们了解 Python2 与 Python3 的主要区别后,会不会感觉不就是 print 表达方式不同么?不就是在编码上有些区别吗?为什么要出现一个两个不兼容的大版本呢?
兔子先生在搜索了相关资料,总结来说有两个主要原因:
兔子先生建议,能使用 Python3 则尽量使用。但是有以下情况可以考虑使用 Python2:
原文来自兔子先生网站:https://www.xtuz.net/detail-131.html
查看原文 >>> 新手入门选择Python2还是Python3
如果你对Python语言感兴趣,可以关注我,或者关注我的微信公众号:xtuz666
原文:https://www.cnblogs.com/xtuz/p/12434147.html