Python学习

来源:百度文库 编辑:神马文学网 时间:2024/05/23 18:54:26
基本内容
Python基本安装:
http://www.python.org/ 官方标准Python开发包和支持环境,同时也是Python的官方网站;http://www.activestate.com/ 集成多个有用插件的强大非官方版本,特别是针对Windows环境有不少改进;
Python文档:
http://www.python.org/doc/current/lib/lib.html Python库参考手册。http://www.byteofpython.info/ 可以代替Tutorial使用,有中文译版的入门书籍。http://diveintopython.org/ 一本比较全面易懂的入门书,中文版翻译最近进步为很及时的5.4了。http://www.python.org/peps/pep-0008.html 建议采用的Python编码风格。http://doc.zoomquiet.org/ 包括Python内容的一个挺全面的文档集。
常用插件:
http://www.pfdubois.com/numpy/ Python的数学运算库,有时候一些别的库也会调用里面的一些功能,比如数组什么的;http://www.pythonware.com/products/pil/ Python下著名的图像处理库Pil;http://simpy.sourceforge.net/ 利用Python进行仿真、模拟的解决方案; Matplotlib 据说是一个用来绘制二维图形的Python模块,它克隆了许多Matlab中的函数, 用以帮助Python用户轻松获得高质量(达到出版水平)的二维图形;http://www.amk.ca/python/code/crypto python的加解密扩展模块;http://cjkpython.i18n.org/ 提供与python有关的CJK语言支持功能:转码、显示之类。 Psyco、Pyrex:两个用于提高Python代码运行效率的解决方案;Pyflakes、PyChecker、PyLint:都是用来做Python代码语法检查的工具。http://wxpython.sourceforge.net/ 基于wxWindows的易用且强大的图形界面开发包wxPython;http://avc.inrim.it/html/ 比MVC模式更方便易用的开发框架,主要是帮助透明地完成界面控件与后台数据之间的内容绑定。该框架支持GTK、QT、TK、wxWidgets等主要具有Python封装的GUI开发框架。http://www.pygame.org/ 用Python帮助开发游戏的库,也可以用这个来播放视频或者音频什么的,大概依靠的是SDL;http://starship.python.net/crew/theller/py2exe/ win下将Python程序编译为可执行程序的工具,是一个让程序脱离Python运行环境的办法,也可以生成Windows服务或者COM组件。其他能完成Python脚本到可执行文件这个工作的还有Gordon McMillan‘s Installer、Linux专用的freeze以及py2app、setuptools等。不过此类工具难免与一些模块有一些兼容性的问题,需要现用现测一下。 嵌入式数据库:BerkeleyDB的Python版,当然还有其他的好多。PEAK提供一些关于超轻量线程框架等基础性重要类库实现。
部分常用工具:
http://www.scons.org/ Java有Ant这个巨火的构建工具,Python的特性允许我们构建更新类型的构建工具,就是scons了。Python Sidebar for Mozilla FireFox的一个插件,提供一个用来查看Python文档、函数库的侧边栏。IPython 很好用的Python Shell。wxPython发行版还自带了PyCrust、PyShell、PyAlaCarte和PyAlaMode等几个工具,分别是图形界面Shell和代码编辑器等,分别具有不同特点可以根据自己的需要选用。Easy Install 快速安装Python模块的易用性解决方案(使用这种方式发行的包通常以Python Eggs的格式被Easy Install自动处理)。有人推荐先用 virtualenv 建个虚拟python环境再使用 easy_install (之后就不用加 --prefix参数了)。
推荐资源:
Parnassus山的拱顶 巨大的Python代码库,包罗万象。既可以从上面下载代码参考学习,同时也是与Python有关程序的大列表。Python号星际旅行船 著名Python社区,代码、文档、高人这里都有。faqts.com的Python程序设计知识数据库 Python程序设计知识库,都是与Python有关的程序设计问题及解决方法。啄木鸟 Pythonic 开源社区 著名的(也可以说是最好的)国内Python开源社区。
代码示例:
http://newedit.tigris.org/technical.htm Limodou的NewEdit编辑器的技术手册,讨论了一些关于插件接口实现、i18实现、wxPython使用有关的问题,值得参考。A Simple Plugin Framework 讲解了一种非常聪明而简单的办法来为代码提供插件接口。如果参考Java社区的类似框架,则有Java Plug-in Framework (JPF)。另外Limdo先生在Ulipad中实现插件和MixIn的机制也十分简单有效,见[NewEdit]设计说明(一)--概述,当然在UliPad最新版本的代码中对这个机制的实现又有实用的改进。(发布插件则有不少项目采用Python Eggs)
其他东西:
http://www.forum.nokia.com/main/0,,034-821,00.html Nokia居然发布了在Series 60系统上运行Python程序(图形界面用wxPython)的库,还有一个Wiki页是关于这个的:http://www.postneo.com/postwiki/moin.cgi/PythonForSeries60 。Python4Symbian这个页面是记录的我的使用经验。pyre:使用Python完成高性能计算需求的包,真的可以做到么?还没研究。Parallel Python:纯Python的并行计算解决方案。相关中文参考页面Pexpect:用Python作为外壳控制其他命令行程序的工具(比如Linux下标准的ftp、telnet程序什么的),还没有测试可用程度如何。pyjamas:Google GWT的Python克隆,还处在早期版本阶段。Durus:Python的对象数据库,当然也可以作为一种对象实例持久化的机制来使用;这是一个开源的纯Python实现,并提供一个可选的C语言插件来大幅提高运行效率。
有意思的东西:
Howie:用Python实现的MSN对话机器人。Cankiri:用一个Python脚本实现的屏幕录像机。
参考资料
ZDNET文章:学习Python语言必备的资源Pythonic Web 应用平台对比 现在个人对web.py(大致和KARRIGELL类似,都是类似与PHP那样比较简单的Python Web应用框架)和web2py非常感兴趣。在wxPython下进行图像处理的经验 (其实,仅使用wxPython也可以完成很多比较基础的图像处理工作,具体可以参照《wxPython in Action》一书的第12节)通过win32扩展接口使用Python获得系统进程列表的方法如何获得Python脚本所在的目录位置Python的缩进问题py2exe使用中遇到的问题idle的中文支持问题序列化存储 Python 对象
Python IDE
我的IDE选择经验
Pydev 基于Eclipse的,非常棒的Python环境,改进速度非常快,现在是我最喜欢的IDE。ulipad Python+wxPython实现的轻量级全功能跨平台IDE,非常好用。做一些简单小东西的时候我会用这个。Eric Python IDE 基于QT实现的非常不错的跨平台PYTHON IDE。支持调试,支持自动补全,甚至也支持重构。如果没有ulipad,并且在我的gnome下基于QT的Eric界面别走形的话,我会选这个。http://www.xored.com Trustudio 一个基于Eclipse的、同时支持Python和PHP的插件,曾经是我最喜欢的Python IDE环境,功能相当全了,不过试用时感觉有些细节不完善以致不大好用。http://www-900.ibm.com/developerWorks/cn/opensource/os-ecant/index.shtml 用 Eclipse 和 Ant 进行 Python 开发http://www.scintilla.org/ 同时支持Win和Linux的源代码编辑器,似乎支持Python文件的编辑。http://boa-constructor.sourceforge.net/ 著名的基于WxPython的GUI快速生成用的Python IDE,但是开发进度实在太差了……http://pype.sourceforge.net/ 成熟的Python代码编辑器,号称功能介于EMACS和IDLE之间的编辑器。http://www.stani.be/python/spe SPE:号称是一个Full Featured编辑器,集成WxGlade支持GUI设计。eggy 用Python和QT实现的Python IDE,据说轻量又好用~