主要发一些编程入门和科普向的文章:
Python3手册 https://www.tutorialspoint.com/python3/index.htm
Python有Python 2.x 和Python 3.x 之分,争论很多,见Python2orPython3。初学者不用考虑这个问题,可以从Python 2.x入门,之后再讨论会多一些理性。
-
洪强宁:Python于Web 2.0网站的应用:豆瓣网洪强宁在QCon北京2010中的技术分享,若不能访问,请自备梯子;另外,豆瓣的阿北很值得关注。
-
A Byte of Python:即简明Python教程,边看边练习就对Python有基本的了解,可以轻松存活。
-
Google's Python Lessons:Google出品的Python教程,值得信赖。
-
Python Documentation:Python在线文档,若嫌枯燥,可以直接看Python Standard Lib。
-
42区:python入门指引:江湖人称张教主的Python入门指引,除开《Python核心编程》。严格来说,这是张教主的一份Python资料索引。
-
CS61A: SICP with Python:作为计算机相关人士,SICP都不了解,实在很惭愧,所以来还债了。这应该是起源于MIT的SICP教程,一个用Python,一个用Scheme。
-
看到一个有趣的python的招聘测试:同学发的一个贴,总结了一下应聘中遇到的问题,并给出了相应的资料来学习。如果想检测下自己的Python水平,请自觉移步北京视讯天下的开发测试。
-
MOOC们:在线公开课很多,见课程图谱;仅在Codecademy上学了一点;现在希望能够每天跟进一些感兴趣的课程,多多学习。
-
书:去年6月份一同事离职,我买了两本黑客与画家,一本送给他(博客一起去看海),另一本给部门老大;他回送了一本Python源代码剖析,看书名就知道是讲底层原理的,有机会啃啃。
-
源代码:直接到Github上去找吧。
- 《python-guide》 requests作者写的guide,偏向工程方面
- 《use python》 use python
- 《A Byte of Python》 一百多页的小书,可以快速熟悉Python语言。
- 《Python核心编程》 比较全面的Python书籍,介绍了Python语言的方方面面。
- 《Dive Into Python》 一本免费的开源书
- 《Fluent Python》 Python进阶的好书,没有之一,涉及了很多Python高级主题和实现特性。
- 《Python3 Cookbook》 Python进阶读物,汇集了很多技巧。
- 《Python高级编程》 豆瓣工程师董伟明先生写的python高级编程 ppt
公司招聘到工程师,Python入职培训的过程。
时间分为4周,全部自学,仅提供大纲。适用于Web方向:
1、Week1:读完《简明Python教程》,适应Python开发环境
2、Week2:写个爬虫,需要深入了解re、urllib2、sqlite3、threading,Queue等几个模块。需要用上多线程抓取,正则表达式分析,并发资源控制,重新开启程序自动继续抓取和分析
3、Week3:学习一种Web开发框架,推荐Flask、webpy之类的,学个数据库接口如sqlite3,写个简单的web应用如博客
4、Week4:给产品做个小功能并走完测试和上线流程,各个时期是不同的
python相关库
Web框架
Flask如果没有Rails,我想这才是自己首选的Web开发框架,实战教程The Flask Mega-Tutorial。
Tornado:来自FriendFeed的异步框架,FriendFeed被Facebook收购后开放了源代码,见Tornado on Github。Tornado主要特点是non-blocking,如果你想开发real-time的Web应用,Tornado是一个不错的选择
Django全栈式框架,听说它的组件都是Made in Django。更多资料见Django资料
- Vim + Python Mode。目前就用这个方案,很方便,直接引用同学的效果图。关于Vim资料和讨论,请移步Vim资料大全;关于Vim更多插件和演示,请移步k-vim on Github;关于Git,Github,请移步本站Free Blog with Github Pages。
Web框架众多,见Web Frameworks for Python
- 《图解Http》 一本小白入门Http协议的好书,有大量图片示例。
- 《Http权威指南》 Http协议最权威的讲解,大部头著作,可以看看最基础的部分。
- 《网络爬虫教程》 非常不错的爬虫教程。感谢原作者,其实感觉这种把学习的内容总结成小书的方式很好。
- 《Python3 网络爬虫实战》
Linux系统
- 《Linux工具快速教程》
- 《CONQUERING THE COMMAND LINE》 掌握这上面的命令基本就可以满足日常需求了。
- 《鸟哥的Linux私房菜.基础学习篇》 浅显易懂,入门Linux命令的好书
版本控制
Python与数据库
SQL,计算机出身的人应该都学过,若有疑问可以参考Wikipedia SQL,并使用SQLite做下练习。
-
PEP249: DB API:数据库访问接口规范,当时还做了一份笔记。
-
SQLite:教程见SQLite Python Tutorial;若要深入了解,推荐The Definitive Guide to SQLite;看此书时,做了一些好句子、段落的摘要,见Sentences in SQLite 3。
-
Oracle Database:有可能这是最庞大的数据库,所以需要专职的DBA。官方教程The Mastering Oracle+Python Series,快速入门教程cx_Oracle Quick Start。
-
SQLAlchemy:Python的ORM标准和框架,解决面向对象编程和关系数据库模式不匹配的问题。
NoSQL
关于常见NoSQL产品的比较见Main NoSQL Database Comparison;若果需要一些NoSQL的理论知识和基本概念,见The NoSQL Ecosystem、Big Data与NoSQL
-
MongoDB:如果熟悉SQL,MongDB的学习成本会很低;相关资料见Python Language Center in MongoDB;用过的两个驱动:1)PyMongo,提供了类似Mongo Shell的接口;2)MongoEngine: A Python Object-Document-Mapper for working with MongoDB,即MongoDB的'ORM'框架,此时变成了'ODM',MongoEngine on Github。
-
Redis:Redis需要一些学习成本,入门推荐The Little Redis Book;用过的Python客户端驱动Redis-py;更多客户端见Redis Clients。
-
NoSQL建模:SQL发展了几十年,有很成熟的建模技术,那么NoSQL呢,见陈皓:NoSQL数据建模技术,原文NoSQL Data Modeling Techniques。
-
更多资料:NoSQL英文站点见NoSQL Database;NoSQL中文论坛见NoSQL Fan:关注NoSQl相关的新闻和技术。NoSQL Fan中,MongoDB和Redis资料很多,已经形成了资料专题,包括介绍、内部实现、应用与优化、新闻等,总能发现你想要的东西:1)NoSQL Fan:Redis资料汇总专题;2)NoSQL Fan: MongoDB资料汇总专题