Linux.中国 - 开源社区

 找回密码
 骑士注册

QQ登录

微博登录


如果你爱 Python,请用 Python 3

2014-7-23 18:00    评论: 37 分享: 17    

刚才在知乎上又看到关于应该使用 Python 2 还是 Python 3 的问题,一个想法在脑子里闪过,我突然意识到,自己差点害了这么一门优秀的语言。

从暑假开始,我就一直在学习 Python 。最初花了十多天把 Learn Python the Hard Way 给看完,又在之后的一个星期内完成了 Codecademy 上的 Python 部分,总之,算是入门了。我之前也囫囵吞枣地尝试过一些语言,比如Visual Basic、Java、C、JavaScript,加上这几天一直在啃的 Objective-C,但不得不说的是, Python 是我目前见过最简洁、最优雅、最有趣的的语言(熟悉了 Python再尝试 Objective-C 真是一种折磨啊)。

I LOVE Python!

但是,由于之前采纳了一些人的建议,加上 Mac OS X 上自带的是 2.7 ,我就坚定地认为 “Python 2 已经很好了,为什么还要费精力向 3 迁移呢?”

我相信很多人也抱着这种想法,因为在很多论坛看到有关版本选择的问题时,会有接近一半的人推荐 2 。注意!这种想法只会害了 Python,最终害了自己。

就拿 Windows 来说,当 Windows 7 发布的时候(我就不说 Vista 了),很多人依然抱着 XP 不放,当你问他们为什么时,他们会一本正经地说,“新系统好卡啊”,或是“好多软件都不兼容啊”,或是“改变很大啊,好不习惯啊”,甚至是“ XP 已经是很好的系统了,微软出个新系统就是为了坑钱”。-_-# 于是乎,春去春又来,送走了 Win 7 ,我们又迎来了 Win 8 ,但是这些人的想法依然没有改变(我相信中国人中这种情况多一些)。如果这种人很多而且这种情况持续下去的话,最终的结局只会是微软的状况越来越差,最终人们毫无选择,投降了Linux的怀抱(咦?怎么有种心花怒放的感觉)。

当我在脑子里把上面的 Win XP 换成 Python 2 、Win 7 换成 Python 3 甚至 Python 4 时,不禁感到一阵恐惧,我差点就和其他人合谋把 Python 给害死!试想一下,多年以后,Ruby 、Go 等语言都有了很多新的特性,虽然最新的 Python 也十分优秀,但因为一些人,不愿改变,坚守着老版本,抛出一些可笑的理由,最终 Python 因为用户习惯而没落了, Guido 和整个 Python 社区的努力都被这些人的习惯给无视了。

让我们来看看这些可笑的理由(关于详细的解释,可以看一下知乎上的徐酿泉的答案,我在这简单总结一下):

什么?支持 Python 3 的库太少?醒醒吧,这都6年了,最新都3.4.1了,现在还不支持 Python 3 的库大多是常年无人维护的东西了。

什么?新版本和旧版本兼容性差?放心吧,以后的版本会越来越不兼容,除非你打算死守 Python 2 一辈子。况且,为了新的特性,改变一下有那么难吗?

最后,那些还在坚守旧版本的人,你们的一堆理由和批评,真的不是在为自己的问题作辩护吗?

突然意识到,Apple 在这方面做的真是够可以的(封闭的好处),不论 Mac OS 还是 iOS ,每次新系统发布都能在很短的时间内得到绝大多数用户的升级。由此可以想象,一个多月就挤进 TIOBE 前20的 Swift ,用得着一年吗?直接来大杀器,6个月后不接受 Objective-C 开发的应用进入 App Store…

发表评论


最新评论

我也要发表评论

[1]
绿色圣光 发表于 2014-7-29 20:19 的评论:

我还没学过Python呢
[2]
linux 发表于 2014-7-29 23:14 的评论:

哎,其实有空,至少掌握一门脚本语言,还是挺有用的。
[3]
来自 - 美国 的 Chrome/Windows 用户 发表于 2015-2-17 09:55 的评论:

Python其实是一款和Java、C++一样、真正面向对象的高级语言,脚本只是他的功能之一,所以不能简单的说Python是一款脚本语言,而把Python和VBScript、Javascript混为一谈~
来自日本的 Chrome 45.0|Windows 10 用户 2015-9-15 17:45 2 回复
python和Java,C++不一样……
XYJK1002 [Chrome 42.0|Windows 7] 2015-8-5 22:37 4 回复
坚定我学python3的决心。。。。。。。
[1]
绿色圣光 发表于 2014-7-29 20:19 的评论:

我还没学过Python呢
[2]
linux 发表于 2014-7-29 23:14 的评论:

哎,其实有空,至少掌握一门脚本语言,还是挺有用的。
来自 - 美国 的 Chrome/Windows 用户 2015-2-17 09:54 回复
Python其实是一款和Java、C++一样、真正面向对象的高级语言,脚本只是他的功能之一,所以不能简单的说Python是一款脚本语言,而把Python和VBScript、Javascript混为一谈~
[1]
绿色圣光 发表于 2014-7-29 20:19 的评论:

我还没学过Python呢
[2]
linux 发表于 2014-7-29 23:14 的评论:

哎,其实有空,至少掌握一门脚本语言,还是挺有用的。
[3]
绿色圣光 发表于 2014-7-30 18:51 的评论:

Bash行不?哈哈……
linux 2014-7-30 19:25 回复
在我看来Bash还不能算一门完整可靠的语言,至少健壮性上太差,多个空格,少个回车,往往大相径庭。
mrwangxc 2014-7-27 10:33  新浪微博网友评论 回复
[偷笑]//@西瓜大丸子汤:如今宗教战争,除了vim vs emavs,python vs java, python里面2 vs 3也打起来了。我的观点是: 要追求美用python 3,要追求钱请用python 2。可以和美过不去,不要和钱过不去。
[1]
7th 发表于 2014-7-25 11:52 的评论:

python3会普及的。总是要往前看。
[2]
linux 发表于 2014-7-25 14:40 的评论:

我不用Python,但是同样来说,对于PERL 6,我也是很抗拒的,而且也不见得什么时候才能得到认可。
7th 2014-7-26 10:44 回复
哦!其实语言知识工具,用习惯就好了。编程方法才是最重要的。
张萌SH 2014-7-25 08:03  新浪微博网友评论 0 回复
别误人子弟了,Python3,perl6五年之內都不会成为主流的。因为他们虽然美,但不兼容。//@Linux中国:我赞同本文意见,如果你刚刚开始学,那就学3吧。虽然Python 2、Python3之间的分裂,如同Perl 5、Perl 6之间的分裂,都挺痛苦的,从长远看,除非意外发生,必然是新的一代埋葬老的一代。
游客 2014-7-24 20:54 回复
这种垃圾文章也传播?暑假才学会的python,就敢出来评价python????
[1]
Vito 发表于 2014-7-23 19:43 的评论:

据我所知的大部分企业都还在用2,所以建议想学完就用到实际生产环境中的初学者还是先从2开始学
[2]
linux 发表于 2014-7-23 22:28 的评论:

同时学2和3的,会不会得精神分裂症?
[3]
Vito 发表于 2014-7-24 10:33 的评论:

也许能揉出一个python2+3呢
linux 2014-7-24 20:15 回复
Python 2.5 !!!
AngelZywei 2014-7-24 17:33  新浪微博网友评论 回复
[哈哈]这个解释真到位!!!@刘佳祥ComputerVision //@西瓜大丸子汤:如今宗教战争,除了vim vs emavs,python vs java, python里面2 vs 3也打起来了。我的观点是: 要追求美用python 3,要追求钱请用python 2。可以和美过不去,不要和钱过不去。
andeliasu 2014-7-24 15:33  新浪微博网友评论 回复
=====>//@西瓜大丸子汤: 如今宗教战争,除了vim vs emavs,python vs java, python里面2 vs 3也打起来了。我的观点是: 要追求美用python 3,要追求钱请用python 2。可以和美过不去,不要和钱过不去。
西瓜大丸子汤 2014-7-24 15:03  新浪微博网友评论 回复
如今宗教战争,除了vim vs emavs,python vs java, python里面2 vs 3也打起来了。我的观点是: 要追求美用python 3,要追求钱请用python 2。可以和美过不去,不要和钱过不去。
西瓜大丸子汤 2014-7-24 15:03  新浪微博网友评论 回复
做工程还是要先考虑社区,考虑已有轮子的数量。有的语言是不错但是综合开发成本会很高。否则大家都用lisp了 //@Linux中国:我赞同本文意见,如果你刚刚开始学,那就学3吧。虽然Python 2、Python3之间的分裂,如同Perl 5、Perl 6之间的分裂,都挺痛苦的,但是不破不立 //@沉醉不思归路:
CPEI懒惰的庸人 2014-7-24 12:33  新浪微博网友评论 1 回复
@混沌中的菜菜 //@Linux中国:我赞同本文意见,如果你刚刚开始学,那就学3吧。虽然Python 2、Python3之间的分裂,如同Perl 5、Perl 6之间的分裂,都挺痛苦的,但是不破不立,你就当成是两种语言吧,而且从长远看,除非意外发生,必然是新的一代埋葬老的一代。/
明剑-随它吧的贱贱_Sumy 2014-7-23 23:33  新浪微博网友评论 回复
现在的感觉还只是有些函数变了。。。//@Linux中国:我赞同本文意见,如果你刚刚开始学,那就学3吧。虽然Python 2、Python3之间的分裂,如同Perl 5、Perl 6之间的分裂,都挺痛苦的,但是不破不立,你就当成是两种语言吧,而且从长远看,除非意外发生,必然是新的一代埋葬老的一代。
Jackchess 2014-7-23 23:33  新浪微博网友评论 回复
一直用py3 //@Linux中国:我赞同本文意见,如果你刚刚开始学,那就学3吧。虽然Python 2、Python3之间的分裂,如同Perl 5、Perl 6之间的分裂,都挺痛苦的,但是不破不立,你就当成是两种语言吧,而且从长远看,除非意外发生,必然是新的一代埋葬老的一代。//@沉醉不思归路: 我初学,一直用的2,3真的好吗
等魔炮3rd的高町薇薇欧 2014-7-23 23:33  新浪微博网友评论 回复
同意+1,学计算机的人总抱着老东西故步自封岂不是自己放弃了这门学科的魅力了么//@Linux中国:我赞同本文意见,如果你刚刚开始学,那就学3吧。虽然Python 2、Python3之间的分裂,如同Perl 5、Perl 6之间的分裂,都挺痛苦的,但是不破不立,而且从长远看,除非意外发生,必然新的一代埋葬老的一代。
JL_Wangchen 2014-7-23 23:03  新浪微博网友评论 回复
当然是学3了,虽然我还在用2.7//@Linux中国:我赞同本文意见,如果你刚刚开始学,那就学3吧。虽然Python 2、Python3之间的分裂,如同Perl 5、Perl 6之间的分裂,都挺痛苦的,但是不破不立,你就当成是两种语言吧,而且从长远看,除非意外发生,必然是新的一代埋葬老的一代。
shanlinzi 2014-7-23 23:03  新浪微博网友评论 回复
为了运行需要python解释器的程序只好装了个python2.7。平时学习的时候注意多用3的语法就好,毕竟python2.7向上兼容嘛 //@Linux中国:我赞同本文意见,如果你刚刚开始学,那就学3吧。虽然Python 2、Python3之间的分裂,如同Perl 5、Perl 6之间的分裂,都挺痛苦的,但是不破不立,你就当成是两种语言吧,
Alerror 2014-7-23 22:39 回复
装了两个还没开始……
漫天的大地落在枯叶上 2014-7-23 22:33  新浪微博网友评论 回复
c++来的一直看py3的整数除法不爽//@Linux中国:我赞同本文意见,如果你刚刚开始学,那就学3吧。虽然Python 2、Python3之间的分裂,如同Perl 5、Perl 6之间的分裂,都挺痛苦的,但是不破不立,你就当成是两种语言吧,而且从长远看,除非意外发生,必然是新的一代埋葬老的一代。//@沉醉不思归路: 我初
Linux中国 2014-7-23 22:33  新浪微博网友评论 回复
我赞同本文意见,如果你刚刚开始学,那就学3吧。虽然Python 2、Python3之间的分裂,如同Perl 5、Perl 6之间的分裂,都挺痛苦的,但是不破不立,你就当成是两种语言吧,而且从长远看,除非意外发生,必然是新的一代埋葬老的一代。//@沉醉不思归路: 我初学,一直用的2,3真的好吗?
Linux中国 2014-7-23 22:33  新浪微博网友评论 回复
Perl 6正式版出来了么?//@纤夫张: 据说不支持python 3的重要项目并不少见,而且,dropbox和Google的案例还不够打脸呢,Perl 6出了但Perl 5依然滋润。Python嘛,去死去死吧,哈哈
纤夫张 2014-7-23 20:03  新浪微博网友评论 回复
据说不支持python 3的重要项目并不少见,而且,dropbox和Google的案例还不够打脸呢,Perl 6出了但Perl 5依然滋润。Python嘛,去死去死吧,哈哈
黛西和七曜工房_眼病姐快回来 2014-7-23 19:33  新浪微博网友评论 回复
蛇蛇蛇蛇蛇
Wicky威 2014-7-23 19:03  新浪微博网友评论 回复
我觉得我也应该换python3了~~~
沉醉不思归路 2014-7-23 19:03  新浪微博网友评论 回复
我初学,一直用的2,3真的好吗?
albert-Y 2014-7-23 19:03  新浪微博网友评论 回复
赞!

热点评论

来自 - 美国 的 Chrome/Windows 用户 2015-2-17 09:55
Python其实是一款和Java、C++一样、真正面向对象的高级语言,脚本只是他的功能之一,所以不能简单的说Python是一款脚本语言,而把Python和VBScript、Javascript混为一谈~
60
XYJK1002 [Chrome 42.0|Windows 7] 2015-8-5 22:37
坚定我学python3的决心。。。。。。。
4
来自日本的 Chrome 45.0|Windows 10 用户 2015-9-15 17:45
python和Java,C++不一样……
2
7th 2014-7-25 11:52
python3会普及的。总是要往前看。
1
linux 2014-7-29 23:14
哎,其实有空,至少掌握一门脚本语言,还是挺有用的。
1
返回顶部

分享到微信朋友圈

打开微信,点击底部的“发现”,
使用“扫一扫”将网页分享至朋友圈。