- 目录
{:toc #meuid}
0.Python介绍
Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。
Python由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年。
像Perl语言一样, Python 源代码同样遵循 GPL(GNU General Public License)协议。
Python语法简洁清晰,特色之一是强制用空白符(white space)作为语句缩进。
Python具有丰富和强大的库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。
常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写.

1.Python能做什么?
系统编程:提供API,能方便进行系统维护和管理,Linux下标志性语言之一,是很多系统管理员理想的编程工具
图形处理:有PIL、Tkinter等图形库支持,能方便进行图形处理。
数学处理:NumPy扩展提供大量与许多标准数学库的接口。
文本处理:python提供的re模块能支持正则表达式,还提供SGML,XML分析模块,许多程序员利用python进行XML程序的开发。
数据库编程:程序员可通过遵循Python DB-API(数据库应用程序编程接口)规范的模块与Microsoft SQL Server,Oracle,Sybase,DB2,MySQL、SQLite等数据库通信。python自带有一个Gadfly模块,提供了一个完整的SQL环境。
网络编程:提供丰富的模块支持sockets编程,能方便快速地开发分布式应用程序。很多大规模软件开发计划例如Zope,Mnet 及BitTorrent. Google都在广泛地使用它。
Web编程:应用的开发语言,如 Pylons(Web应用框架)、Zope(应用服务器)、Plone(内容管理系统)、Twisted(Python的网络应用程序框架)、Webpy(微Web框架)、Reddit(社交分享网站)、Dropbox(文件分享服务)、Fabric(管理Linux主机的程序库)、Trac(BUG管理系统)、Mailman(邮件列表软件)、Mezzanine(基于Django编写的内容管理系统)、Blender(以C与Python开发的开源3D绘图软件).
多媒体应用:Python的PyOpenGL模块封装了“OpenGL应用程序编程接口”,能进行二维和三维图像处理。PyGame模块可用于编写游戏软件。
PYMO引擎:PYMO全称为python memories off,是一款运行于Symbian S60V3,Symbian3,S60V5, Symbian3, Android系统上的AVG游戏引擎。因其基于python2.0平台开发,并且适用于创建秋之回忆(memories off)风格的AVG游戏,故命名为PYMO。
黑客编程:python有一个hack的库,内置了你熟悉的或不熟悉的函数.
爬虫: Scrapy-开源Python爬虫框架
2.Python学习资源
3.Python经典项目
一个好的项目是对学习一个语言或工具是有很大的指引作用的,现在基于Python语言的出色的项目有很多,我自己发现的项目中,其中有几个是对进阶学习Python有很大帮助的。也是自己比较感兴趣的, 这里只做一个简单的引入, 如果你感兴趣,请关注我的后续文章。。
3.1 Django- 鼓励快速开发的Web应用框架

Django 是由 Python 开发的一个免费的开源网站框架,可以用于快速搭建高性能,优雅的网站!
教程: 自强学堂 -Diango开发教程
3.2 Flask- Python微Web框架

Flask是一个使用 Python 编写的轻量级 Web 应用框架。其 WSGI 工具箱采用 Werkzeug ,模板引擎则使用 Jinja2. 使用 BSD 授权。
3.3 Scrapy- Python网络爬虫框架

Scrapy,Python开发的一个快速,高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。
Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。
Scrapy吸引人的地方在于它是一个框架,任何人都可以根据需求方便的修改。它也提供了多种类型爬虫的基类,如BaseSpider、sitemap爬虫等.