阅读本文大概需要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只需要很短的时间。

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

最后说一下,原创真的不易,希望大家能够给点支持,欢迎转发转发转发,留言留言留言,重要的事情说三遍,也是对我的一点鼓励和动力.
也欢迎更多喜欢Python的同学关注微信公众号: 菜鸟学python,一起来学python吧

阅读原文

如何选择Python版本2还是3相关推荐

  1. Python 1. 如何选择python版本,以及如何选择开发环境(IDE)

    本文为原创文章转载请注明出处,博主博客地址:http://blog.csdn.net/qq_20259459  和作者信息. 点击打开链接(原文地址超链接点击阅读原文) 这是我在神经网络和matlab ...

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

    阅读本文大概需要4分钟 很多初学者刚开始学python的时候,一定都遇到过这个问题,python的世界有2个版本,python2 和 python3 ,而且有些 语法还不兼容. 怎么办~~到底应该选择 ...

  3. ipython版本_1. Python版本的选择与安装

    Python综述 Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年.Python是一种解释型.面向对象.动态数据类型的高级程序设计语言,它具有卓越的通 ...

  4. Pycharm选择pyenv安装的Python版本

    在macOS上使用pyenv实现Python多版本共存后,pyenv安装的Python版本存在于macOS下的 ~/.pyenv/versions/下. 在Pycharm时,选择此目录下对应的版本即可 ...

  5. Python初学者应该选择哪个版本

    目前,根据数据显示,使用Python2.xd 开发者站63.7%,而使用Python3.x的用户站36.3%,由此可见使用使用Python2.x的用户还是占多数.2014年,Python的创始人宣布将 ...

  6. python版本的判断、选择指南

    判断源码的版本 Python3.0并不能做到完全兼容Python2.0 Python2.0与Python3.0在语法方面的差异主要表现为以下几个方面: 1.输出方面 Python2.0使用print关 ...

  7. PySpark之Python版本如何选择(详细版)

    问题背景 公司目前有两套Spark集群和一套Hadoop集群用来做 数据相关的存储和计算.Hadoop的版本是2.7,Spark两套集群,一个是2.1.0版本,一个是 2.4.3版本.但是两个Spar ...

  8. python选择哪个版本-Python下载哪个版本比较好?

    Python 下载哪个版本比较好? 作为初学者,只需知道 Python 分 Python 2.x 和 Python 3.x 两大版本就可以了,Python 3.x 不向下兼容.更下一级的子版本,在非生 ...

  9. PyQt PySide版本与Python版本选择

    (经过验证如果要用matplotlib则不建议安装pyside6.4版本,6.3.2版本测试嵌入matplotlib成功 python版本3.8 3.9测试ok,3.10未测试) PyQt最新版本信息 ...

最新文章

  1. 英伟达颠覆CPU!Arm架构专为AI而生,性能超x86十倍
  2. ExtJS在树TreePanel之间拖放结点
  3. jupyter notebook dead kernel问题解决
  4. python遗传算法八皇后_遗传算法之:八皇后问题
  5. 程序显示文本框_python PDF转成图片小程序
  6. android类中定义颜色,自定义实现简单的Android颜色选择器(附带源码)
  7. JavaScript实现euclideanDistance欧氏距离算法(附完整源码)
  8. Excel 2007 的重大bug
  9. Longest Increasing Subsequence(LIS入门dp)
  10. python制作查询网页_peewee数据查询之分页返回——python学习笔记
  11. restful接口开发实例_Restful接口开发与测试—接口测试
  12. Docker 安装配置Tomcat
  13. mysql中文问号 linux,解决Linux系统下Mysql数据库中文显示成问号的问题
  14. 机器学习实现线性梯度算实现octave
  15. 最小化安装CentOS 7后,图形界面的安装(GNOME、KDE等)
  16. VS2017使用github
  17. 网络安全法学习整理笔记
  18. Shell 脚本中判断字符串是否为空
  19. Git 入门最佳实践
  20. 使用Rust开发操作系统(UEFI基本介绍)

热门文章

  1. (win11)VMware虚拟机Ubuntu系统--C语言(操作系统实验课)
  2. MCU 微控制器,在实际项目中如何选型(以 STM32为例)
  3. 亿欧智库发布最新研究报告 阿里云数据中台成中国乳企数字化首选方案
  4. Dev C++下载及使用
  5. 保利紫山开启湛江城市墅居新纪元
  6. C语言知识-零零散散(一)
  7. 斯坦福cs224n-2021 assignment1-探索词向量—词共现矩阵—SVD(奇异值分解)
  8. CV中一些常见的特征点
  9. 2021年R1快开门式压力容器操作考试题及R1快开门式压力容器操作实操考试视频
  10. Ubuntu 18.04上搜狗输入法简繁体切换快捷键Ctrl+shift+f和AndroidSdtuio的全局搜索冲突