阅读本文大概需要4分钟

很多初学者刚开始学python的时候,一定都遇到过这个问题,python的世界有2个版本,python2 和 python3 ,而且有些 语法还不兼容. 怎么办~~到底应该选择哪个版本来开发呢? 好,今天我们就来聊聊这个话题 .

1.Python2和Python3的历史背景

Python语言是在20世纪90年代诞生的,算算到现在已经是 25岁 的大叔级的语言了(跟它同一个时代的还有一个鼎鼎大名的java是在1995发行的, 红了几十年).

但是Python真正成名比java晚了很多年,其实也主要是应用领域的时代变迁.(猜测为啥,对了大数据的出现)

Python2是Python里面一个非常重要的版本,最早的版本是从2001的时候开始的,特别是从2006年开始py2.5的发布,python的功能逐渐强大起来,慢慢开始稳定下来,并且差不多1-2年左右递增一个版本,在08年左右开始慢慢的火起来了.

而Python3最早是从2008开始发布,但是py3.0的版本非常不稳定,所以社区更新的很快,差不多几个月就更新一次。所以一开始的时候并没有很多人用,只到2014春暖花开的时候python3.4 deliver了才开始慢慢稳定下来.

下面我们看一个数据,这是Python社区联和一些网站在2014做的一个调查,关于Python2/3,部分的结果如下:

1).97.51%用户还在写Python2的代码

2).60%的用户写Python3的代码

3).78.09%的用户更多地写Python2代码

4).77.09%的用户认可Python3

目前有一些Linux里的操作系统已经默认使用Python3:

1).Arch Linux (轻量级的Linux操作系统)

2).Ubuntu 16.04 (一个桌面应用为主的Linux操作系统)

3).Fedora(Redhat桌面版本的延续)

2.Python2和Python3的主要区别:

目前最新的数据是,Python有两个版本:一个是 2.7.12版 ,一个是 3.5.12版 .

那么Python2运行的好好的,为啥突然要出个Python3呢,其实是为了解决Python2里面一些 历史问题

第一个是字符串的问题:

Python 2 中文本和二进制数据是一个烂摊子,Python中的str 是代表二进制数据还是文本数据是有二义性,文字既能代表文本数据又能代表二进制数据这很麻烦,此类错误发生的时候,我们很难意识到。

第二个是对Unicode的支持

由于python是在1991年2月开源发布,这意味着它早于在1991年10月发布的第一版 Unicode 标准。在接下来几年中,晚于 Unicode 标准出现的语言都选择在支持 Unicode 编码的基础上实现自己的 str 类型,这让 Python 2 处于尴尬的境地。

目前是一个python2/3共存的时代,这两个版本是不兼容的。

python2现在只是做 bug的修复, 新硬件和操作系统兼容的相关维护工作。不会再有新的功能加入,python2只支持到2020年.

现在Python正在朝着3版本进化,在进化过程中,大量的针对2.x版本的代码要修改后才能运行,所以目前有许多第三方库还暂时无法在3.x上使用。

不过可以畅想一下,也许再过几年情况就会好很多,毕竟全世界有很多优秀的程序员正在把一些库从Py2往Py3上迁移.

3.选择还是要根据自己的需求

若是 企业的开发 ,要满足工作的需求,尤其是 依赖的软件 只能运行在Python2下,首选Python2.比如你的开发需要依赖大量的第三方的库(因为学Python非常大的一个原因就是因为它有成千上万的第三方包),像大量的数据分析,科学计算,还是选Python2吧.

如果你是 自己学习 ,研究的话,愿意拥抱变化,那么建议学Python3,因为它是未来的方向.

结论:

编程其实主要是对编程思想的理解和经验的积累,千万不要因为纠结学Py2还是Py3而浪费大量时间。

Py2和Py3里面的思想基本是相通的,招式是类似的.当你熟悉Python到一定的程序的时候,会Py2的人学Py3只需要很短的时间。

所以不要再纠结细枝末节的语法差异,而耽误了宝贵的学习时间。

好了Python2和Python3的 恩怨情仇 就讲到这里啦(它们还要 相爱相杀 一段时间),希望能给初学者一些启发,若有什么不懂的, 也可以留言跟我探讨交流 .

最后说一下, 原创不易 ,希望大家能够给点支持,欢迎 转发 , 留言, 也是对我的一点 鼓励和动力 .

也欢迎更多喜欢Py thon的同学关注 菜鸟学python, 一起来学py thon吧

-------------

作者:菜鸟学Python (坚持原创,若我写的对大家有帮助,麻烦大家关注一下)

公众号:菜鸟学python

大家也可以加小编微信:tszhihu (备注:Python),拉大家到 Python爱好者社区 微信群,可以跟各位老师互相交流。谢谢。

也可以关注微信公众号:Python爱好者社区 (ID:python_shequ)

python3是指版本号是3.吗_如何选择Python版本2还是3相关推荐

  1. anaconda降级python失败_如何降级Python版本安装spyder?

    如何降级 Python 版本安装 Spyder? 可能并不需要降级 Python 版本,使用 Spyder 独立安装包安装,然后指定 Python 解释器:另外一种方法是在 Anaconda 中安装. ...

  2. python版本切换_怎么切换python版本

    展开全部 (1)分别安2113装 python-2.7.12.amd64.msi python-3.5.2-amd64.exe (python官网下载的) 顺序无所谓(为5261了看着4102方便,我 ...

  3. python3 函数类型限制登录可解封_如何解决python反爬虫限制访问?

    我们想要获取一些大量数据,经常会被拦截住,这是因为访问太频繁的原因,一旦账号不能使用又会带来很大的麻烦.针对于这种情况,小编想了两个应对的方法,一个是网站方面,另一个是地址方面的.本篇会着重于地址方面 ...

  4. python不同版本共存_多个python版本共存时的pip配置

    两种方法来配置pip Func1: 1.1 找到python环境的安装包,将python.exe文件重命名,如:将python2.7版本的python.exe重命名为Python2.exe,将pyth ...

  5. python如何升级_怎么升级python版本

    1.可利用linux自带下载工具wget下载,如下所示:( 笔者安装的是最小centos系统,所以使用编译命令前,必须安装wget服务,读者如果安装的是界面centos系统,或者使用过编译工具则可跳过 ...

  6. vue如何生成公钥私钥_百行Python代码演示1私钥生成多公链公钥原理。|区块链财富指北私钥篇(2)...

    <区块链财富指北>系列文章由NOCY.COM策划,肖南飞主笔撰写. 技术选型基于BOScore公链,旨在以有趣易懂的方式传播普及区块链技术,不构成任何投资建议! 学习之前说学习 今天这篇文 ...

  7. python3 上传文件到目标机器_再见Python 2.7,你好Python 3.7

    安装python3 直接下载安装 1.下载地址如下:python 3.7 2.点击下载好的pkg文件进行安装 3.安装完成之后,python 3.70的默认安装路径如下: /Library/Frame ...

  8. python3库下载_下载安装Python第三方库的方法,最全方式,值得收藏

    一.利用Python中的pip进行第三方库的下载 首先我们要搞清楚Python中的pip是个什么东东?pip是一个安装和管理 Python包的工具,可以对python的包进行管理和升级等操作. 具体的 ...

  9. python3 array为什么不能放不同类型的数据_小白入门Python数据科学全教程lt;一gt;...

    前言 本文讲解了从零开始学习Python数据科学的全过程,涵盖各种工具和方法 你将会学习到如何使用python做基本的数据分析 你还可以了解机器学习算法的原理和使用 说明 先说一段题外话.我是一名数据 ...

最新文章

  1. Linux(1)---常用命令
  2. Linux下的设备大体分为三类,微机原理知识点总结
  3. 位运算n=(n-1)快速统计二进制1的个数
  4. 中国人工智能学会通讯——神经环路研究最新进展及对类脑计算的启示 1.复杂科学...
  5. 2020 区域赛(沈阳) M. United in Stormwind fwt + sosdp
  6. MySQL 8.0中的JSON增强
  7. 数值计算方法(五)——迭代法求方程根
  8. STL源码剖析-map
  9. Java并发:Callable、Future和FutureTask
  10. puml绘制思维导图_在线绘制流程图, 思维导图
  11. 批量将多个 Word 文档合并成一个 Word 文件
  12. linux4.6内核lcd驱动源代码,提供基于linux-2.6.32.2 内核100%完全可以使用的驱动源代码,绝无库文件,敬请放心使用。...
  13. php 虚拟ip 刷流量,浅析网站刷流量的利与弊
  14. 2022电子邮箱大全,国内企业邮箱注册大全有哪些?
  15. Pixelmator Pro轻松搞定常见的图片处理需求
  16. 快手小店后台数据爬取(selenium+openpyxl)
  17. PPT基础(一)怎么把图片设置为背景
  18. 读《Java核心技术 卷I》有感之第3章 Java的基本程序设计结构
  19. python实现选择题自动答题_答题辅助python代码实现
  20. android判断是否安装应用程序,android如何判断一个软件是否安装以及打开手机应用商店...

热门文章

  1. [bzoj3609]人人尽说江南好
  2. yum 完全卸载软件包
  3. css3鼠标悬浮放大效果
  4. html中怎么插入文档,word如何输入引用 word文档中怎么插入参考文献
  5. 面具卡米怎么删模块_如何在网上开一家儿童玩具店?动漫玩具实体店怎么样在网上卖玩具?...
  6. Unity中设置屏幕常亮
  7. 换主板 oracle 蓝屏,在win7系统中更换主板后蓝屏的解决方案
  8. IOS调试lldb命令常用,po, Xcode控制台调试
  9. 电子音乐小知识——教你听懂电音
  10. 第三期 C/C++数据结构 栈的基本操作