对于我们普通人来说一个语言最重要的还是库函数的齐全程度,Java在此方面已经登峰造极了。而现在的Python不输于他。一个语言的火热程度可以从类库看出, 下面是github上语言的排名:
由于Jav的特殊性和Ruby的RoR我们就不去管它了,Python占8%,C占6%. 貌似差得不远, 恩。但是如果你仔细看C的project,随便翻十页可能发现会有三页的项目其实是在写python的类库。真是母亲为孩子显出一切。 另外一个说明Python类库齐全的例子是我这个学期被某教授压着要算一个固体模型的Berry's Phase。正值final之前, 如何有心思写这厮。一筹莫展之际竟然发现python有个固体算能带和巴里态的库!!nm这也能有!? 仔细观摩了下源代码, 1000来行,干净整洁, 速度用之,皆大欢喜。这种小众库都有我已经不能想象你有什么变态要求Python不能满足了。以下是一些常用的类库。 如果你想写网络应用,轻量级:web.py (web.py的作者最近自杀去世,RIP)中量级:Django,Pylon 重量级:twist。其实很多人诟病Python的网络框架过于多,不能集中起来,我倒觉得无所谓。我用过Django, 写个小小的博客程序,1000多行,这是用java不可想象的。Youtube上有个半个小时的用Django写博客的演示: ?v=srHZoj3ASmk。 半个小时!!一边写一边讲!一个博客程序!!还带后台功能!What the F*! 是编程么!?我脱稿写个平衡树都不只半个小时啊!
2.如果你想做科学计算,NumPy&SciPy可以取代90%matlab的常用功能,然后让我想一想,他们好像只有几十mb!!加上Pythonxy也才700mb多!但是你没有更多的新学语法的成本,也不用付给mathwork血汗钱。
3.网络爬虫。Python的超强项,beautifulsoup的网页解析,scrapy等等,不一而足。Twitter, 微博等好像也有python的API。
4.Machine Learning,数据分析和Natural Language Processing。 请去Kaggle上看看多少参赛者是用的Python。 著名的库有Pandas。
5.写游戏。Pygame。 试过几个别人写出来的游戏,非常顺畅。
6.桌面应用。 pyqt。Dropbox貌似就是使用的pyqt写的。
最后我想讲下Python Challenge。Python作为一个强劲的编程语言有着极为活跃的社区,文档丰富,教程齐全。当然就有很好的网上解谜过关类的教程。 Python Challenge是在各个类型的解谜过关性的我看到过的最好的一个。难度适中,而且可以从中学到很多。解法不局限于python,可以用perl, shell,C甚至Erlang!官方解答往往有10多种解法,精妙至极。但是你会一步步从中发现Python的优势。一共33关,在充满乐趣的智力挑战和极大的满足感后,你可以学到PIL库的使用,pickle的使用,正则表达式,完成后你会发现思维方式的改变。 什么?不知道网址在哪里?Let me google that for you。 我做了半年多已经完成得还行了,我会把答案和分析帖在这里。
Last words 神爱众人,于是带来Python。 ---------------PIRATICUS 13:7 (责任编辑:本港台直播) |