看到未名的几篇帖子 使我想起了和python的一些经历,于是写了一篇咚咚。
1 书籍:
python的syntax足够简单,semantics也不复杂,不怎么会使人混乱,一般来说看自带的文档足够可以学习了,看完两章便可以写出一些non-trivial的程序了。 硬要说入门书籍。 learning in python可以一看。目前的版本似乎是based on
python2.3的,有些内容稍微旧了点。 对于解释reference,reference counting 比较清楚,要是觉得糊涂的可以看看前面三个部分. 如果没什么时间,可以不看此书
programming in python 是同作者的另外一本书,东南大学有影印版,不过很厚,书基本上以介绍how to use python to develop applications 为主。例子范围很广,而且很实用。我的不少项目参考了很多的代码。 里面有些比较大的程序还可以了解怎么用python来构建大型应用。 推荐阅读. 最新版本包括python 2.5
python programming on win32.. 书名和内容不大相符,里面com的内容大约占了40%。 书是1999年出版的,python 版本是1.5。。年代有些久远了。奇怪的是作者好像没有打算出新版本。对于com的部分解释不错,代码也可以基本上直接套用,除了unicode部分,当时unicode string还不是标准库的一部分,所以作者使用了其他的解决方案,现在当然不需要了.
如果是做win32下的开发 推荐阅读
python in nutshell, 最新版本 第二版,基本上可以替代python 的 doc。。有例子,有解释还有一些对于其他库的评论和简介。此书是我的必备,当手册一流,但是此书不是tutorial,当教程可能不大合适
python cookbook..秘籍大全,最新版本为第二版,里面有各种问题的解决方案。。不过对我而言价值不是很大。记得就参考过 怎么 使twisted 和wxpython 一起使用 这一篇.
wxPython in action,, 介绍使用wxpython.. 我个人认为看文档也差不多。。当然 书还是可以一看的
以上的书均可以找到下载
2 第三方的库
只推荐我实际使用过的库
wxPython: 做界面的首选,效果组件足够丰富,在我看来,很多时候可以代替delphi。打包安装也很简单只要你会用py2exe。 唯一不好的是 在linux下 如果是从source安装有些麻烦,而且因为是native look 所以不是什么控件都是通用的。例如win32下的 multiple child window 在linux下是用 tabbook来代替的. wxpython现在几乎是事实上的标准图形库了. tk 不提也罢
wxGlade: 画based wxwidgets的窗口,比较古怪的是一定要使用layout.. 我曾经试用过很多wxwidgets的rad。。觉得这个虽然问题多多却是唯一可用的。 用这个工具大约开发过3个应用。 如果是生成c++ 代码而且又包含中文,在vs环境下要转码,不然会报错。
twisted:做网络的首选。我曾使用过prospective broker来开发过一个 三层的cs架构,前端还是wxpython. 开发速度很快. 缺点: 和gui协同工作不好
numpy: 做数值计算必备,取代了 以前的numarray和 numerics。。可惜文档是要钱的
win32util,, win32下必备。
py2exe: win32下打包发布程序必备。。还可以制作win32的service 程序,这点尤其方便
pyprocessing: 可以让python使用multi-core的 包,下一版本 python 2.6会加入。我正在试用。用法和thread类似
PIL: 处理图像不错,
about web framework: 我没怎么用过python来开发web的应用。所以哪一种好我也不知道
扩展工具:
swig: 古老,但是好用,对于c-style library很好用。对于c++ 处理template需要instantiate first。。我用来封装过一些特殊的win32的api。
boost-python: 对于c++支持较好,而且不用写接口文件
3 编辑器:
我觉得自带的idle就不错,挺好用的。有个用delphi写的 pyscripter也不错,不过在这个编辑器直接调用
程序有时候会出错。
linux下的可以用vi 和emacs。。gedit也凑合了
python的一些推荐