注:本博文是在搜集他人资料的基础上,进行了内容整合,并非完全原创,主要是方便自己日常学习 Python 编程使用,望多多谅解,持续整理中......


=========================================================================================

优秀 Python 学习资源收集汇总

Python 是一种面向对象、直译式计算机程序设计语言。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用縮进来定义语句块。SchemeRubyPerlTcl等动态语言一样,Python 具备垃圾回收功能,能够自动管理内存使用。它经常被当作脚本语言用于处理系统管理任务和网络程序编写,然而它也非常适合完成各种高级任务。


Python 上手虽然容易,但与其它任何语言一样要学好 Python 并非一日之功。我的 Python 学习还处在基础阶段,偶尔用 Python 脚本实现一些简单的功能,平时喜欢收集关于 Python 的各种技术文档及优秀文章,花了点时间整理出来分享给大家,有基础有进阶有高阶,也有从基础到高手全面学习的资料,有的资料里面也包含了其它许多优秀的资源。每个人的标准不同,也许我的分类不一定准确,希望大家选择性阅读,让你在成长为一名 Python 高手的路上少走一点弯路。


一、Python基础知识学习

1. Google's Python Class (强烈推荐)

非常通俗易懂,即使以前没学过什么编程语言的也可以学习,建议 Python 新手都拿来读读,这里是简单介绍,如果不想看文字教程,Youtobe 上也有相关视频教程,当然这个需要×××,×××应该是每个学习计算机的必备技能,不会的请看这篇×××详细教程


2.The Python Tutorial

Python 的官方文档,各个版本的都有,在基础阶段可以作为字典进行查阅。


二、Python进阶学习

里面提供了一些重要的编程技巧,这几个技巧常常会被人们忽略,但它们在日常编程中能真正的给我们带来不少帮助。

2. Python 十个友好的惯用法

也就是编程风格,编程规范,这在大型项目中非常重要,每门语言都有自己的惯用法,比如 Google Java 编程风格指南中文版


三、Python 高阶学习

1.如何成为 Python 高手

Python 高手学习的指导性文章,至少让你知道什么样的程度叫做 Python 高手。


2.Python+Django+Eclipse 在Windows下快速开发自己的网站

说到 Python 高阶应用,就不能不提 Python 逐渐被用来开发网站,其中 Django 就是个用 Python 开发网站的框架,如果你以前没用 Python 开发过网站,那么这篇文章能教你一步步开发出自己的网站,属入门级文章,带给我们 Python开发网站的初步体验。


主要是 Python 用于网络应用的教程,如果上面是基础入门的话,这里就是深入且优秀的高手教程。

4. 我常用的 Python 调试工具

调试是每位想学好语言必备的技能,好的调试工具能让我们的开发效率事半功倍。


四、Python 全面指导性学习

Github 上的,从入门到高手都有,非常全面。

2. 学好 Python 必读的几篇文章

里面也推荐了许多 Python 学习过程中的优秀资源。


是个 PDF 文档,收集了一些精品资源。

4. The Python Challenge
觉得自己 Python 学的差不多了吗?如果是的话,强烈推荐来这里挑战一下自己的 Python 知识,属于闯关游戏,娱乐的同时还能学习,为什么不来呢?


=========================================================================================

2013年 Python 精华集锦

新闻与发布

先看一下来自各地的 Python 的 Web 开发社区相关的新闻和发布。

1.Heroku 现在已经支持不同的python运行
This is neat, just add a `runtime.txt` file with your chosen Python runtime and you are off to the races. Default is now 64bit CPython 2.7.4.


2.Two Scoops of Django

Django1.5 的经典书籍。


3.
Codeq: python静态分析项目
在你的 Python 项目中运行静态分析是很酷的。登录 github,在 PEP8 中你可以找到相关内容。


4.
PyCon US 2013 Talk Videos
Python 美国大会2013,如果你错过的话也没有关系。所有的会议记录和视频都已经放到的网上。


5.PythonMonk
一个互动式的 Python 教程,让你轻松学习 Python。


6.
Asyncio (Tulip) Merge Into Python 3.4

有趣的阅读

1.科学家将永久性迁移到Python 3
在文章中作者指出,将整个科学界的项目移植到 Python 3 是不可能的。


2.
一篇Python 框架面向Hadoop的文档
最近所有的人都在谈论大数据,而 Hadoop 是大数据最常用到的。这篇文章会告诉你所有流行的 Python 框架都是可以使用 Hadoop 的 。


3.
一篇关于pytes的介绍
现在已经有很多Python 测试框架,但是 pytest 是与众不同的哦。这是一篇十分详细的介绍,如果你想了解 pytest,不妨读读。


4.
实时Django使用Node.j和Redis
这篇文章介绍了使用 Django,Redis,Node.js 来创建一个实时应用的方式。


5.
Python shortcuts for the Python beginner
这是一个非常酷的列表,专门为来自其他编程语言的爱好者准备。


6.
延时加载
这篇文章介绍了Python 的延时加载,让你能够得到想要的效果,而有避免了复杂的开销。


7.
Better Typography for iPython Notebooks
一本使用活版并且高可读的 ipython 笔记。


8.
Virtualenv’s bin/activate is Doing It Wrong
这篇文章的论点是,虽然 virtualenv 是一个奇妙的工具,但是 virtualenv 的 bin 激活,本质上没有 Unixy,这可能导致一些问题。笔者会给出如何才能正确的建议。


9.
Threading in Python
这是一篇关于 Python Queue 和 Thread 的文章,文章并没有忽视GIL这是所有人在使用 Python 线程的时候都需要注意的。


10.
Python Is Not Just a Language — It’s a Development Platform
每一个 Python 程序员都应该读一读作者 Doug Hellmann。


11.
Deploying Django with Salt Stack
Salt Stack非常好,这篇文章介绍了这个工具的用法,并且教会你如果使用它创建一个 Django 应用。


12.
Getting started with Python for Data Scientists
数据社区给出的一个关于 Python 数据统计科学的文章,他们介绍了你开始学习数据分析时,需要做的准备和可能遇到的问题。


13.
Core Concepts of Django Forms
关于 Django,如果你在核心概念上还有一些模糊,这篇文章会为你解除疑惑。


14.
Approach: Building a toy template engine in Python
如果你想知道 Python 模板引擎是如何工作的,那么请阅读这篇文章,作者还会交给你如何创建一个简单的引擎。


15.
Python’s magical self
关于 Python 的self有的人喜欢,有的人讨厌,有的人干脆就不知道,这篇文章将详细的介绍 Pythonself的工作原理和一些说明。


16.
Python Descriptors Demystified
所有你想知道的 Python 描述符。


17.
Facts and Myths about Python names and values
Python 中的名称和值是怎么工作的?来了解一下。


18.
setup.py vs. requirements.txt
人们有很多对于 setup.py 和 requirements.txt 的误解,很多人都觉得他们是在不断的重复,甚至想创造工具来解决这个问题。


19.
Functional linked lists in Python
一个关于链接数据类型和函数式编程的好教程。


20.
Python性能分析指南
Python 性能分析指南。


21
.解决魔方问题
如何使用 Python 来解决魔方问题,真的很酷。


22.
介绍  Pandas and Vincent
介绍 Pandas和它的数据模型以及对象,使用 Vincent创建数据可视化。

项目

1.radon
有没有想过你的代码库有多么复杂?要运行的圈有多么复杂?检查,检查。


2.
django-conch
很好的东西,操作 Django shell 的 ssh 服务器,方便调试在远程服务器上的 Django 项目。


3.
pudb
pudb 全屏的 Python 调试工具。


4.
python-social-auth
Python 的社会化认证工具,随着大多数流行框架对社会化认证的支持,这个值得关注。


5.
motor
Motor 非阻塞式 MongoDB 驱动 专为 Tornado应用。


6.
elephant
一个 S3 支持的 key-value 存储与查询搭载 Elasticsearch。


7.
sublime-bower
如果你使用 Twitter’s Bower,你就可以在 Sublime Text 2 安装这个包,它会展示你的项目。


8.
Pony ORM
Pony ORM 非常有趣,Pony 可以将 Python Generators 翻译成 SQL,它拥有可视编辑器和模型等其他特性,Free for Non-commercial use with paid commercial licenses。


9.
Falcon Framework
Falcon 本身作为高性能云 api 框架,Falcon 能够轻松 serve up to 30 times as many requests on the same hardware as competing web frameworks,有兴趣吗?赶紧签出。


10.
cherrymusic
用 Python 编写的音乐流媒体服务器,尽情收集你喜欢的音乐。


11.
smiley
Smiley 包含几个子命令,能够记录 Python 运行状态和 Python 监控的的报告。


12.
wssh
这是一个通过 websockets 操作 ssh 的桥梁,它允许你通过 http 来调用 ssh。而且它还包括 web 界面和服务器。


13.
babel
Babel 是一个 Python 库,能够帮助国际化和本地化你的 Python 应用程序集。


14.
regexpbuilder
让正则表达式跟容易阅读和构建。


15.
flask-restful
一个方便创建 Flask RSETful 的框架。


16.
pulsar
一直把异步操作作为 Python web 框架的选择因素?这可是一个事件驱动的 Python 并发框架。


17.
quokka
一个以 flask 为基础,协调 mongodb 的 cms。


18.
dejavu
有没有想过 Shazam 是如何工作的? 音频指纹识别算法用 Python 实现的!


=========================================================================================

一些 Python 学习资源

1.再见紫罗兰

http://www.cnblogs.com/linxiyue/


2.Python 在线资源大全

http://www.csvt.net/resource/python


3.Python 中国

http://www.okpython.com/


4.Python 中文开发者社区门户

http://www.pythontab.com/


5.Python 实战:从菜鸟到大牛的进阶之路

https://blog.51cto.com/zt/576


6.Django 实战

http://blog.csdn.net/column/details/djangonote.html


7.Python Django 行者

http://blog.csdn.net/zouyee


8.Python Module of the Week

http://pymotw.com/2/


9.The Hitchhiker’s Guide to Python

http://docs.python-guide.org


10.Requests: HTTP for Humans

http://cn.python-requests.org


=========================================================================================

牛人整理的Django资源大全

要找 Django 资源,官网的 wiki 也是一个不错的地方。

http://code.djangoproject.com/wiki/DjangoResources


资源

1.Django官网

2.Django文档

3.Django Step by Step

曾是最佳的 Django 入门教程,只是这个教程是针对 0.95 的,现在不少地方已经有所变动。


4.Django可复用app设计

5.Django最佳实践

Django 可复用 app 设计 的一个更好的分支。个人为人这个文档是每个 Django 开发人员必读的。


6.Django最佳实践 中文翻译

7.Django book

一本免费的 Django 电子书。


8.Django book 中文翻译

9.djangosnippets

一个关于 Django 的代码片段网站,在里面可以找到一些应用的 Django 代码片段。站点本身是用 Django 写的,且开发源码。


10.djangosites

这个网站里介绍了很多实用 Django 搭建的站点。而且可以从这里找到很多带源代码的 Django 站点。不过我个人觉得里面没有多少值得参考的站点代码。


使用 Django 搭建的站点

1.Django官网

Django 官网本身使用 Django 搭建,而其提供了代码。Django 官网的大多功能由整合的 trac 实现,所以网站的 Django 代码没几行。


2.海报网

据说这是目前流量最大的 Django 站点。据我的了解,这个网站的流量也确实大的有些超乎想象,该网站应当有接近CSDN 的流量。不过这个网站将大量的页面进行了静态化,如果以这个网站的标准来评价 Django 的性能应当不够客观。


3.好看簿

国内的另一个 Django 站点,目前也有不错的流量。作为该网站的用户,我感觉网站的响应速度并不怎么快。看来好看簿在服务器优化方面还需要更多的努力。


Django 的开源项目

1.pinax

这是我看到的最有价值的 Django 开源项目。pinax 可以看做是 Django 的一个脚手架。她提供了快速开始一个新 Django 项目的方法,同时对大量第三方 app 的使用方法进行了演示。Django 的 app 质量参差不齐,如果你想挑选 app,那你可以看看 pinax 里都集成了哪些 app。pinax 里集成了的 app 通常都不至于太烂。此外 pinax 自身也带了一些有用的 app,比如 blog 等。
如果你想以最快的速度了解 pinax,可以去
http://cloud27.com/看看。这是一个用 pinax 搭建的 SNS 网站。


2.Satchmo

网店系统。看她的介绍,似乎已经有不少人在用这东西了。


3.LFS(Lightning Fast Shop)

网店系统,就 Demo 来看似乎是倾向于房屋交易平台。陆陆续续的也有部分商业网站开始使用该系统了,比如这个


4.reviewboard

非常有前途的一个 code review 工具。最开始是VMware在用,来后给开源了。


Django 的可重用 appCMS

Django CMS Apps ComparisonDjango CMS Apps 的比较。


Forum

Django Forum Apps Comparison Django Forum Apps 的比较。


调试

1.django-debug-toolbar

Django 站点增加调试功能,支持查看 Django 生成的 sql 语句,及 sql 的执行时间等,功能强大。不过由于该组件使用了 jquery,似乎会使用部分使用了 jquery 的站点无法正常工作。


2.django-db-log

将django的异常保存到数据库。


3.django-logging

增加 sql 日志。直接在站点的网页上查看当前页面所使用 sql 语句以及执行时间。功能比 django-debug-toolbar 要弱不少,不过要是 django-debug-toolbar 把你的页面毁了,那就试试这个吧。


数据库升级

在项目开发过程中表结构的变动总是难免,django 目前还不支持表结构的自动更新,不过相关的第三方 app 倒不少。这些 app 各有各的特色,具体如何选择就要看个人的喜好了。

SchemaEvolution介绍 Django 数据库升级的 wiki 页面,相关的 app 都可以在这个页面找到。


未分类

1.django-registration

注册功能,支持帐户的邮件激活。


2.django-tagging

为站点增加 tagging 功能。


3.django-voting

投票功能。


4.django-ajax-validation

使用 ajax 方式对表单进行校验,需要 jquery 的支持。这个组件只能校验,如果需要增加 ajax 提交表单的功能,还需要自己手动做些修改。


5.django-announcements

发送站内公告,该公告只显示一次。可以设置公共的发送对象(所有人,指定用户,登陆用户)。


6.django-avatar

为用户增加设置个人头像的功能。支持http://www.gravatar.com/和用户上传头像。


7.django-dbtemplates

Django 的 template 保存在数据库,并通过 cache 来加速 template 的加载。这样可以很方便的通过 admin 来编辑template。我想这东西应当可以用来实现一些简单的 CMS 功能,不过似乎用处不是太大。


8.django-microblogging

类似 Twitter 的微型博客。


9.django-notification

消息分发组件,用来实现类似好友最新动态的功能。


10.django-pagination

一组翻页相关的 utils,包括用于实现翻页的 tag 等。


11.django-robots

通过 Django 的 admin 来管理 robots.txt。不过我觉得 robots.txt 这东西为什么还需要用 admin 来管理,还不如直接编辑来的方便。


12.django-messages

实现站内消息的功能。目前该组件的功能的功能还比较弱,虽然作者在进行重构,但似乎进展缓慢。如果有需要我可能会自行对该组件进行一些增强。


13.django-threadedcomments

评论组件,可以给任何的 models 增加评论功能。


14.django-extensions

一些全局的 management extensions。其中包括 create_app 的增强,使用 werkzeug 做开发服务器等功能。


15.django-uni-form

以 div 方式渲染 forms。


16.django-timezones

时区设置组件,允许用户设置自己所在的时区。


17.django-bookmarks

书签管理组件。


18.django-email-confirmation

在用户设置邮件地址后,给用户的邮箱发送一封确认邮件。用户点击邮件里的 link 来确认邮件地址的有效性。


19.django-mailer

邮件发送的增强组件,会在邮件发送失败时记录失败日志。


20.django-friends

朋友组件,支持邀请用户成为好友等。


21.django-locations

似乎是一个基于地区的社交网络,需要 yaohoo map 的支持。


22.django-oembed

方面媒体(视频等)内容嵌入,自动将媒体的连接转换成正确的 html 代码。


23.django-swaps

易物平台,比如用 PSP 换 NDS 啥的。


24.django-wikiapp

wiki 组件,支持多种 wiki 语法。不过目前该组件的功能还是比较简单,比如不支持附件。


25.django-mptt

用于生成树形列表的 app。如果你认为它会自动给你生成一个完整的树,那你就错了,她只是一组工具。我感觉这东西并不是太好用,是否有什么优点,暂时不太清楚。


26.django-photologue

图片管理,上传图片,缩略图显示等。


27.django-filebrowser

django-admin 的一个扩展,可以直接通过 admin 对服务器上的文件进行管理。我没用过这东西,不过看介绍,感觉非常棒。


28.goflow

Django 上的一个工作流引擎,设计灵感来源于 OpenFlow。没用过这东西,对工作流也不太了解,所以也不知道这东西好不好。不过这似乎是 django 上唯一的一个工作流 app。