python学习资源

一、Python的应用
  Zope-应用服务器 
  Plone-内容管理系统 
  Django-鼓励快速开发的web framework 
  Twisted - Python Network Application Framework Python的网络应用程序框架 
  TurboGears - 另一个Web应用快速开发框架
  Bit Torrent - 著名的BT下载工具
  更多python的著名应用可以参看该地址:
[url=http://www.python.org/about/success/]http://www.python.org/about/success/[/url]
 
二、Python语言资源
  官方主页 :
[url=http://www.python.org/]http://www.python.org/[/url]
  For windows的 python解释器 (包括tkInterGUI开发环境,一个简单的IDE,完整广泛的英文文档)9MB:
[url=http://www.python.org/ftp/python/2.4.3/python-2.4.3.msi]http://www.python.org/ftp/python/2.4.3/python-2.4.3.msi[/url]
  一份不错的python中文教程 :
[url=http://www.woodpecker.org.cn/obp/diveintopython-zh-5.4/zh-cn/dist/html/toc/index.html]http://www.woodpecker.org.cn/obp/diveintopython-zh-5.4/zh-cn/dist/html/toc/index.html[/url]
该站致力于python研究,站内还有大量优秀教材下载。
  python中文社区 :
[url=http://python.cn/]http://python.cn/[/url]
国内python大牛尽会于此
  
[url=http://www.pythonet.cn/]http://www.pythonet.cn[/url]
- python 中文手册
  ChinaUNIX论坛区的python版 
[url=http://bbs.chinaunix.net/forum-55-1.html]http://bbs.chinaunix.net/forum-55-1.html[/url]
基本可以认为是国内论坛中python水平最高的
  一本最佳的python入门书籍 (英文)
[url=http://china-pub.shop.eol.cn/computers/common/info.asp?id=25523]http://china-pub.shop.eol.cn/computers/common/info.asp?id=25523[/url]
  一个很好的开源pythonIDE 
[url=http://stani.be/python/spe/blog/]http://stani.be/python/spe/blog/[/url]
  Python的库
  由于设计者和开源社区的共同努力,在python中有大量优秀的库可以被直接调用以高效地完成不同需求的工作。这里列举一些常见常用的库:
  Tkinter———— Python默认的图形界面接口。
 
 Tkinter是一个和Tk接口的Python模块,Tkinter库提供了对Tk
API的接口,它属于Tcl/Tk的GUI工具组。Tcl/Tk是由John
Ousterhout发展的书写和图形设备。Tcl(工具命令语言)是个宏语言,用于简化shell下复杂程序的开发,Tk工具包是和Tcl一起开发的,
目的是为了简化用户接口的设计过程。Tk工具包由许多不同的小部件,如一个按钮、一个滚动条等。通过Tk提供的这些小部件,我们就可快速地进行GUI开
发。Perl、Scheme等语言也利用Tk库进行GUI开发。Tkinter是跨平台,在各种平台下都能使用。
  Python
Imaging
Library(PIL)————python提供强大的图形处理的能力,并提供广泛的图形文件格式支持,该库能进行图形格式的转换、打印和显示。还能进
行一些图形效果的处理,如图形的放大、缩小和旋转等。是Python用户进行图象处理的强有力工具。
  Pmw(Python megawidgets)Python超级GUI组件集————一个在python中利用Tkinter模块构建的高级GUI组件,每个Pmw都合并了一个或多个Tkinter组件,以实现更有用和更复杂的功能。
  PyXML———— 用Python解析和处理XML文档的工具包,包中的4DOM是完全相容于W3C DOM规范的。它包含以下内容:
  xmlproc: 一个符合规范的XML解析器。
  Expat: 一个快速的,非验证的XML解析器。 还有其他
  和他同级别的还有 PyHtml PySGML
  PyGame———— 用于多媒体开发和游戏软件开发的模块。
  PyOpenGL———— 模块封装了“OpenGL应用程序编程接口”,通过该模块python程序员可在程序中集成2D和3D的图形。
 
 NumPy、NumArray和SAGE————
NumArray是Python的一个扩展库,主要用于处理任意维数的固定类型数组,简单说就是一个矩阵库。它的低层代码使用C来编写,所以速度的优势很
明显。NumPy是Numarray的后继者,用来代替NumArray。SAGE是基于NumPy和其他几个工具所整合成的数学软件包,目标是取代
Magma, Maple, Mathematica和Matlab 这类工具。
  MySQLdb模块———— 用于连接MySQL数据库。还有用于zope的ZMySQLDA模块,通过它就可在zope中连接mysql数据库。
  PyGTK ———— 用于python GUI程序开发的GTK+库。GTK就是用来实现GIMP和Gnome的那个库。有了它,你完全可以自信的尝试自己制造Photoshop
 
 PyQt ———— 用于python的Qt开发库。QT就是实现了KDE环境的那个库,由一系列的模块组成,有qt, qtcanvas,
qtgl, qtnetwork, qtsql, qttable, qtui and
qtxml,包含有300个类和超过5750个的函数和方法。PyQt还支持一个叫qtext的模块,它包含一个QScintilla库。该库是
Scintillar编辑器类的Qt接口。
  PyMedia ———— 用于多媒体操作的python模块。它提供了丰富而简单的接口用于多媒体处理(wav, mp3, ogg, avi, divx, dvd, cdda etc)。可在Windows和Linux平台下使用。
  Psyco ———— 一个Python代码加速度器,可使Python代码的执行速度提高到与编译语言一样的水平。
  Python-ldap ———— 提供一组面向对象的API,可方便地在python中访问ldap目录服务,它基于OpenLDAP2.x。
  smtplib模块 ———— 发送电子邮件。
  ftplib模块 ———— 定义了FTP类和一些方法,用以进行客户端的ftp编程。我们可用python编写一个自己的ftp客户端程序,用于下载文件或镜像站点。如果想了解ftp协议的详细内容,请参考RFC959。
  xmpppy模块 ———— Jabber服务器采用开发的XMPP协议,Google Talk也是采用XMPP协议的IM系统。在Python中有一个xmpppy模块支持该协议。也就是说,我们可以通过该模块与Jabber服务器通信,是不是很Cool。
  下面这些就不详细介绍,只列出名字和功能
  adodb ———— ADO数据库连接组件
  bsddb3 ———— BerkeleyDB的连接组件
  chardet ———— 编码检测
  Cheetah ———— 构建和扩充任何种类的基于文本的内容
  cherrypy ———— 一个WEB framework
  ctypes ———— 用来调用动态链接库
  Cx-oracle ———— 连接oracle的工具
  DBUtils ———— 数据库连接池
  django ———— 一个WEB framework
  DPKT ———— raw-scoket网络编程
  docutils ———— 用来写文档的
  dpkt ———— 数据包的解包和组包
  feedparser ———— rss解析
  Kodos ———— 正则表达式调试工具
  Mechanize ———— 爬虫连接网站常用
  pefile ———— windows pe文件解析器
  py2exe ———— 用来生成windows可执行文件
  pycurl ———— URL处理工具
  pydot ———— 画图的,graphiz
  pyevent ———— Python的事件支持
  pylint ———— 培养良好的编码习惯
  Pylons ———— 又一个web framework
  pypcap ———— 抓包的
  pysqlite2 ———— SQLite的连接组件
  python-dnet ———— 控制网络安全的其他设备
  pythonwin ———— Python的Windows扩展
  pywmi ———— 省了好多折腾功夫
  reportlab ———— Python操作PDF的Libary。
  scapy ———— 网络包构建分析框架,可编程的wireshark,有兴趣的google “Silver Needle in the Skype”
  scons ———— 项目构建工具,写好了模板用起来还是很方便的
  sendpkt ———— Python发包
  setuptools ———— 一套python包管理机制
  simplejson ———— JSON的支持
  sqlalchemy ———— SQL数据库连接池
  SQLObject ———— 数据库连接池
  twisted ———— 巨无霸的网络编程框架
  winpdb ———— 自己的程序或者用别的库不太明白的时候就靠它了
  wxPython ———— GUI编程框架,熟悉MFC的人会非常喜欢,简直是同一架构
  除此之外还有很多,根本无法完全列举。
  开源社区的工作已经完成到这样的程度,基本上各种常见的编程需求都已经有非常成熟稳定高速的模块来实现,你所需要做的,只是去阅读文档然后把它找出来。
  欢迎大家光临python中国进行交流
  一切关于python教程都在"python中国"
  
[url=http://www.okpython.com/]http://www.okpython.com[/url]
  python资源:
  老黄纸条箱(黄冬)
  网址:
[url=http://blog.opensource.org.cn/hdcola/]http://blog.opensource.org.cn/hdcola/[/url]
  Limodou的学习笔记(木头)
  网址:
[url=http://blog.donews.com/limodou/]http://blog.donews.com/limodou/[/url]
  
[url=http://limodou.javaeye.com/]http://limodou.javaeye.com/[/url]
  邱英波
  
[url=http://www.dup2.org/blog]http://www.dup2.org/blog[/url]
  肥三的专栏——热酷网CTO梁冰鸿
  网址:
[url=http://blog.csdn.net/FeiSan]http://blog.csdn.net/FeiSan[/url]
  社区/论坛
  灵蛇网:
[url=http://bbs.pythonid.com/]http://bbs.pythonid.com/[/url]
  Python中文社区:
[url=http://www.pythonbbs.cn/]http://www.pythonbbs.cn/[/url]
  
[url=http://bbs.chinaunix.net/thread-1164933-1-1.html]http://bbs.chinaunix.net/thread-1164933-1-1.html[/url]


三、参考资料:
1.http://www.python.org/ python.org - Python 的官方网站 
2.http://www.okpython.com/ ---python中文官方站 
3.http://python.cn/ - Python 中文社区 
4.http://www.codeplex.com/Wiki/View.aspx?ProjectName=IronPython - Python For Dot Net 的网站 
5.http://www.tiobe.com/index.htm?tiobe_index 程序设计语言排名 
6.http://www.pythonet.cn - python入门教程 
7.http://groups.google.com/group/python-cn?hl=zh-CN Python中文用户组 
8.http://www.woodpecker.org.cn/ 啄木鸟Python wiki 社区 
9.中文书籍: 
10.《Python源码剖析--深度探索动态语言核心技术》 
17. 
[url=http://www.china-pub.com/39994]http://www.china-pub.com/39994[/url]

18.《Python网络编程基础》
[url=http://www.china-pub.com/34826]http://www.china-pub.com/34826[/url]

19.外文书籍: 
20.《CORE PYTHON PROGRAMMING》 
21.《Learning Python》 
22.《BEGINNING PYTHON》
                

Python学习

 

基本内容

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发行版还自带了PyCrustPyShellPyAlaCartePyAlaMode等几个工具,分别是图形界面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,据说轻量又好用~

你可能感兴趣的:(半成品)