python2和3哪个好,python3好还是2好
很多刚入门Python的朋友都在纠结这样一个问题:我应该选择学python2还是python3?Python 3.7已经发布。目前Python的用户应该主要使用Python3.6和Python2.7,那么我是否应该转用Python 3.7呢?
首先先说一下python2与python3的选择
很多刚入门Python的朋友都在纠结的问题是:我应该选择学习python2还是python3?
对此,答案是:果断的Python3!(推荐学习:Python视频教程)
但是很多fkdfs的朋友还是很犹豫:那为什么还有人推荐我学Python2?
其实,无外乎以下一些原因:
1.Python和Pip下载量都超过2比3,可见2还是主流。
不对!2下载量超过3的原因有很多,但其中最重要的一个原因是Python 2在大多数操作系统(Linux发行版)中仍然是默认安装的。大家都很懒,很多人就是因为懒得折腾才用2。但是,2在下降,3在上升,这是不争的事实。拥抱未来才是王道。
2.Python 2和3是不兼容的,学了3还得学2。
不对!Python提供了很多辅助库,可以让你在几分钟内写出兼容3和2的代码。你要做的就是引入几个包,几乎不需要修改代码。你真的要把2作为最后的手段。你有3的基础,不需要额外学习就可以马上用2。
3.很多库还卡在Python 2,Python 3用不了。
不对!你关注Python这个说这话的英雄台灯有多久了?我不太了解市场。
根据py3 ready的最新统计,Pip上最受欢迎(下载量最多)的前360个库中,已经有345个支持Python 3。
python3_readiness.png
其中只有15个库(约4%)还不支持Python 3。你有多执着,要等到100%才愿意用3?
你的工作能有多特别?一定要用2才能搞定吗?即使在这种情况下,使用VirtualEnv、Conda等成熟工具,也可以分分钟在你的机器上创建另一个2环境,完美兼容3。你还需要担心什么?
拥抱Python 3!人生苦短,我用Python 3。
选择 Python3.6 还是 Python 3.7
Python 3.7已经发布。目前Python的用户应该主要使用Python3.6和Python2.7,那么是否应该转用Python 3.7呢?
首先你要知道Python 3.7是Python 3.6的升级版。Python官方对3.7新特性的描述链接如下:
https://docs.python.org/3/whatsnew/3.7.html
我们最需要注意的是,与3.6相比,3.7在语法上几乎完全兼容,除了以下几点:
向后不兼容的语法更改:async和await现在是保留关键字。这段话指出了3.7和3.6唯一不兼容的地方是async和await已经成为Python中的保留关键字。
什么意思?
async和await这两个词,就像import、for和while一样,是系统为特殊目的保留的关键字。
也就是说,在Python 3.7中,不能使用定义变量和函数的名字。
例如,我将变量和函数定义如下:
Async=1def await(): pass在Python3.6中运行,没有问题,但是在Python 3.7中,会报错如下
语法错误:无效语法
如何选择?
所以,如果项目目前用的是Python 3.6,而且项目比较大,我个人建议不用急着上3.7。因为不知道你的项目代码和依赖的第三方库的代码有没有经过3.7兼容测试。毕竟3.7才刚刚出来。
比如2018年7月13日白月黑羽写这篇文章的时候,我发现postgresql数据库的Python API驱动库,Psycho PG 2的安装,在Python 3.7上出现了问题。
3.7的Pip执行
pip psycho pg 2-binary的安装将会失败,并且会提示一个错误:找不到pg _ config可执行文件
3.6的pip安装没有问题。
所以,我们还是等3.7广泛使用后再转吧。
现在转到Python3.7,除非Python3.7中有你的项目特别渴望使用的新特性。如果是这样的话,一定要对旧代码进行充分覆盖的测试,以防止在线运行时出现问题。
用Python2.7怎么办呢?
但如果当前项目运行在Python 2.7上,主要是Python 2和Python 3之间的迁移,语法差别有些大。
如果项目申报周期较长,建议在适当的时候升级到Python3。毕竟2020年Python2就不再官方维护了,如果有什么安全漏洞就比较麻烦了。或者有好用的第三方库。这些库可能没有Python2的版本,更麻烦。
如果决定将项目从Python2升级到Python3,目前可以升级到Python3.6,因为业界目前更普遍支持3.6。等3.7支持比较普遍之后再升级也不迟。
总结:
这就是边肖今天想分享的,希望能帮助到大家。
End:本人是一名python开发工程师,整理了一套最新的python系统学习教程,包括从基本的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习、面试宝。想要这些资料可以关注边肖,添加Q裙851211580获取Python学习资料和学习视频,还有大神在线指导!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。